论坛首页 Java企业应用论坛

为什么PrepareStatement和Batch性能相差不大,欢迎分析

浏览 11740 次
精华帖 (9) :: 良好帖 (0) :: 新手帖 (12) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-08-31  
这个例子时间的差别是在数据库 写缓存中的数据写到数据文件的所花的时间上。

楼主如果把statement 也改成在一个事务里完成再测试一下就更明显。
楼主的第一种,数据库数据文件与数据缓存区被同步了1000次,
第二种,第三种数据库数据文件被同步的次数就大大减少了,如果忽略定时同步,可以认为就写了一次。

batch的目的是为了一次发送多条SQL指令(节省网络传递时间)
preparestatment是为了重用执行计划(节省数据库端硬解析时间)

在这里,就把传输时间和解析时间忽略吧。

如果楼主再试一下,statement 方式放到一个事务里,测一下时间是不是三个都差不多。就更有说服力了。
0 请登录后投票
   发表时间:2010-09-01  
http://www.iteye.com/topic/743613
你说的这篇文章是有问题的,他的jdbc 提交到数据库中是 分10000次的
每次都获得一个connection 。但是 用Hibernate 的方式放入一个事物当中的,就是说他只获得一次connection 当然hibernate 比 jdbc 快

0 请登录后投票
   发表时间:2010-09-01  
哈哈,这个贴比较好玩。不过回贴后,认识又有了一个提高。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics