PreparedStatement为什么高效
来源:3-5 PreparedStatement预编译SQL
WittChen
2021-05-15 13:09:06
问题描述:
课程中讲PreparedStatement高效,是因为说预编译,有缓存,只解析一次,但是当时我不是特别理解,因为我个人理解JDBC就是使用Java与数据库发生连接,然后输入sql语句操作数据库,在Navicat中写也就是写sql语句然后执行,没有什么预编译啊,缓存啊解析之类的概念,当时学习mysql的时候老师没有讲过这方面的东西
尝试过的解决方式:
上网查询了后有些一知半解吧,总结如下:
使用PreparedStatement,MySQL数据库会把编译解析好的sql语句存到内存里,当再次遇到l相关的sql语句时直接拿出来用就不需要再解析一次了,因此速度会很快
所以这项技术实际上是MySQL实现的,我们只要去用就行了,但是我想知其所以然,老师能不能讲讲MySQL在执行sql时的
1回答
同学你好,同学总结的是正确的,简单的理解使用PreparedStatement之后,其实结构类似的SQL语句,都变成一样的了,值的地方都会变成?,那么一条SQL语句,在MySQL中只会编译一次,后面的SQL语句过来,就直接拿编译后的执行再加上不同的参数直接执行,就可以大大提升性能,速度变快
祝学习愉快~
相似问题