锁定老帖子 主题:update12条记录要用3分钟
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-07-31
michael.softtech 写道 我是指按照你目前的实现,是每一条记录更新都使用了一个新的事务。 如果把所有需要更新的记录放在一个List里面,然后在service方法里面把所有记录在一个事务里面做更新。 至于Spring,只是提供了一个获取sqlmap的途径,真正的数据操作还是使用ibatis的api来实现的,所以你可以把 Spring 忽略掉.... 就算每次读是一个新事物,也不会慢到这种地步 估计是数据库表本身问题 |
|
返回顶楼 | |
发表时间:2009-07-31
topxiaoke 写道 楼主可用JDBC代码来测试一下是否同样低效
这样可以判断是数据库的问题还是代码问题 如果是数据库问题,则多半是由于表数据量过大而没有加适当的索引造成效率低下 这位仁兄说的靠谱。 |
|
返回顶楼 | |
发表时间:2009-07-31
如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟
|
|
返回顶楼 | |
发表时间:2009-07-31
leonclz 写道 如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟
拼凑sql字符串根本不可能比参数快。 |
|
返回顶楼 | |
发表时间:2009-07-31
这个框架怎么会慢成这个样子?? !~
|
|
返回顶楼 | |
发表时间:2009-07-31
whaosoft 写道 这个框架怎么会慢成这个样子?? !~
应该不是框架的问题吧 看一下数据量及索引吧!! |
|
返回顶楼 | |
发表时间:2009-07-31
不是框架的问题,千万级的表我们照样用IBATIS。看一下是不是索引走错了
|
|
返回顶楼 | |
发表时间:2009-07-31
说句你不爱听的话,这和IBATIS没关系,要查你的SQL。找问题要找到真正的问题所在。
|
|
返回顶楼 | |
发表时间:2009-07-31
分别执行加事务和不加事务插入同等数据的时间也许就能找到原因;
索引对插入有影响,但是控制在1-3个索引不会影响到插入效率,避免交叉索引! 望问题解决后,贴出原因! |
|
返回顶楼 | |
发表时间:2009-08-01
leonclz 写道 如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟
执行这么慢,难道是因为传参数,而不是直接使用拼凑sql字符串造成的?! lovit 写道 leonclz 写道 如果没有特殊符号的话,出现很慢的情况,你可以考虑拼凑sql字符串,这样速度可能会快写,我现在插入10000条数据,大约5秒钟
拼凑sql字符串根本不可能比参数快。 使用参数的preparedstatement传说中确实会得到优化,但是LZ的MySQL绝对例外,使用参数的sql并不会得到优化,mysql jdbc传递给服务器的还是拼接后的sql |
|
返回顶楼 | |