JDBC的PreparedStatement和Statement效率问题
1、JDBC的PreparedStatement和Statement效率问题,这两中方式哪个效率高?2、PreparedStatementps=conn.prepareS...
1、JDBC的PreparedStatement和Statement效率问题,这两中方式哪个效率高?2、PreparedStatement ps = conn.prepareStatement("select * from mytable where id=?"); ps.setString(1,myid); PreparedStatement ps = conn.prepareStatement("select * from mytable where id='"+myid+"'"); 以上两种方式有什么区别哪种方式更好或效率更高?
展开
2个回答
2013-05-18
展开全部
第一个问题:PreparedStatement的效率会更高,这个你想知道可以查一查javaAPI中java.sql包中,哪里解释得很详细。第二个问题:你要明确以上两个语句的作用是什么,第一个SQL语句的作用等价于select * from mytable;因为你的ID没有设置,所以查的就是所有的记录,第二个你的条件是ID等于指定值的所有记录
2013-05-18
展开全部
问题一:PreparedStatement的效率高.
原因:Statement处理静态SQL语句,PreparedStatement处理动态SQL语句,会有一个预编译的过程,时间基本可以忽略不计,其预编译结果会被缓存,下一次执行相同的语句时,则直接从缓存读取,大大提高了效率.
问题二:没区别,效率也看不出来什么,只不过通过set的方法代码可读性更好点,难道你不觉得么?
原因:Statement处理静态SQL语句,PreparedStatement处理动态SQL语句,会有一个预编译的过程,时间基本可以忽略不计,其预编译结果会被缓存,下一次执行相同的语句时,则直接从缓存读取,大大提高了效率.
问题二:没区别,效率也看不出来什么,只不过通过set的方法代码可读性更好点,难道你不觉得么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询