首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Statement跟preparedStatement具体区别

2011-12-20 
Statement和preparedStatement具体区别?Statement和preparedStatement具体区别?java.util.Statementjava.u

Statement和preparedStatement具体区别?
Statement和preparedStatement具体区别?

java.util.Statement
java.util.preparedStatement


都有什么区别 什么时候用?

还有
createStatement和prepareStatement都是Connection方法的
和上述2个有什么具体的区别?

主要是用法上

 

说的好马上给分 随时在线

[解决办法]
以Oracle为例吧
Statement为一条Sql语句生成执行计划,
如果要执行两条sql语句
select colume from table where colume=1;
select colume from table where colume=2;
会生成两个执行计划
一千个查询就生成一千个执行计划!

PreparedStatement用于使用绑定变量重用执行计划
select colume from table where colume=:x;
通过set不同数据只需要生成一次执行计划,可以重用

是否使用绑定变量对系统影响非常大,生成执行计划极为消耗资源
两种实现 速度差距可能成百上千倍
[解决办法]
prepareStatement
从表明的字意来看就是准备好的
他是预编译的
形象的说 他就像一条生产线
批量生产同一型号的产品速度非常快
也就是说如果大批量执行同类型的sql语句
prepareStatement的速度要Statement快
否则Statement和preparedStatement的速度差不多
[解决办法]
Statement 每次都要创建执行方法
preparedStatement 一次创建 
preparedStatement 执行效率远远大于Statement
[解决办法]
学习了

具体的使用其实还是要按照具体的场景来考虑的

热点排行