Statement与PrepareStatement的区别

1、Statement有一条sql语句,他就执行一次sql生成执行计划。而PrepareStatement,他会先进行预编译(当然前提是你的数据库支持这些预编译),执行相同的sql语句(参数可能不同)的时候,由于他执行了预编译(在使用前对sql语句编译了一次,数据库会对进行缓存),后面再执行相同的语句的时候,他不会再进行编译,而是直接从缓存中匹配使用。Statement却不是这样,不管他们相不相同,只要执行一次sql语句,数据库就会编译一次。

2、当有很多条sql语句要求被执行的时候,Statement就会不断的进行编译,极大地消耗系统资源。而PrepareStatement可以进行预编译、批处理,她不需要每条sql语句都需要执行(只需要在相同的语句里设置相同的参数,通过改变参数来改变sql语句,有点类似函数),从而大大地提高了效率。

3、参考网址https://blog.csdn.net/jiangwei0910410003/article/details/26143977

猜你喜欢

转载自www.cnblogs.com/dearbaoyan/p/9063954.html