论坛首页 Java企业应用论坛

update12条记录要用3分钟

浏览 15493 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-31  
michael.softtech 写道

我是指按照你目前的实现,是每一条记录更新都使用了一个新的事务。

如果把所有需要更新的记录放在一个List里面,然后在service方法里面把所有记录在一个事务里面做更新。

至于Spring,只是提供了一个获取sqlmap的途径,真正的数据操作还是使用ibatis的api来实现的,所以你可以把 Spring 忽略掉....


就算每次读是一个新事物,也不会慢到这种地步

估计是数据库表本身问题
0 请登录后投票
   发表时间:2009-07-31  
topxiaoke 写道
楼主可用JDBC代码来测试一下是否同样低效
这样可以判断是数据库的问题还是代码问题
如果是数据库问题,则多半是由于表数据量过大而没有加适当的索引造成效率低下

这位仁兄说的靠谱。
0 请登录后投票
   发表时间:2009-07-31  
如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟
0 请登录后投票
   发表时间:2009-07-31  
leonclz 写道
如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟

拼凑sql字符串根本不可能比参数快。
0 请登录后投票
   发表时间:2009-07-31  
这个框架怎么会慢成这个样子?? !~
0 请登录后投票
   发表时间:2009-07-31  
whaosoft 写道
这个框架怎么会慢成这个样子?? !~

应该不是框架的问题吧
看一下数据量及索引吧!!
  • 大小: 214.7 KB
0 请登录后投票
   发表时间:2009-07-31  
不是框架的问题,千万级的表我们照样用IBATIS。看一下是不是索引走错了
0 请登录后投票
   发表时间:2009-07-31  
说句你不爱听的话,这和IBATIS没关系,要查你的SQL。找问题要找到真正的问题所在。
0 请登录后投票
   发表时间:2009-07-31  
分别执行加事务和不加事务插入同等数据的时间也许就能找到原因;
索引对插入有影响,但是控制在1-3个索引不会影响到插入效率,避免交叉索引!

望问题解决后,贴出原因!
0 请登录后投票
   发表时间:2009-08-01  
leonclz 写道
如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟


执行这么慢,难道是因为传参数,而不是直接使用拼凑sql字符串造成的?!

lovit 写道
leonclz 写道
如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟

拼凑sql字符串根本不可能比参数快。


使用参数的preparedstatement传说中确实会得到优化,但是LZ的MySQL绝对例外,使用参数的sql并不会得到优化,mysql jdbc传递给服务器的还是拼接后的sql
0 请登录后投票
论坛首页 Java企业应用版

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