频率很高的update系统怎么样优化

MySql 码拜 9年前 (2016-02-08) 1392次浏览
50W数据的一个表,系统运行时,大量update case set visit = ?, due_date = ?, update_by = ?, update_date = ? WHERE id = ? 语句,监控到同一个update 语句时间很不稳定,经常很慢,目前代码上面已做到优化,但是原因是系统是crm系统,流程job+数据流入+大量客服使用系统,导致大量update业务操作无法避免,想从数据库层面做一些优化,求一些建议。mysql是innodb。
2016-03-28 14:12:54,027 [HandleTimeService.java:56] – case update spend 3593ms,caseId:496344
2016-03-28 14:12:57,682 [HandleTimeService.java:56] – case update spend 3649ms,caseId:496309
2016-03-28 14:12:57,676 [HandleTimeService.java:56] – case update spend 3642ms,caseId:496032
2016-03-28 14:12:57,684 [HandleTimeService.java:56] – case update spend 3654ms,caseId:496309
2016-03-28 14:13:00,510 [HandleTimeService.java:56] – case update spend 683ms,caseId:496333
2016-03-28 14:13:00,701 [HandleTimeService.java:56] – case update spend 182ms,caseId:496031
2016-03-28 14:13:11,005 [HandleTimeService.java:56] – case update spend 5444ms,caseId:495848
2016-03-28 14:13:15,130 [HandleTimeService.java:56] – case update spend 4109ms,caseId:467920
2016-03-28 14:13:17,525 [HandleTimeService.java:56] – case update spend 2383ms,caseId:495767
2016-03-28 14:13:21,197 [HandleTimeService.java:56] – case update spend 3680ms,caseId:496307
2016-03-28 14:13:21,891 [HandleTimeService.java:56] – case update spend 699ms,caseId:496346
2016-03-28 14:13:21,887 [HandleTimeService.java:56] – case update spend 697ms,caseId:496347
2016-03-28 14:13:21,892 [HandleTimeService.java:56] – case update spend 699ms,caseId:255415
2016-03-28 14:13:22,013 [HandleTimeService.java:56] – case update spend 119ms,caseId:496254
2016-03-28 14:13:26,365 [HandleTimeService.java:56] – case update spend 3798ms,caseId:496305
解决方案

70

update慢,你可以用mysql的慢查询功能,然后对于这些慢的语句,在分析执行计划,看看到底是什么原因导致的,一般这种语句,关键就是索引id上要建索引

10

explain语句贴出结果
update慢 有可能是定位行的操作慢,也有可能本身就是更新慢

10

WHERE id = ?
ID是主键吗? 假如是,建议考虑分区表。

10

假如计划通过其它方面进行优化,则必须先试验分析产生问题的原因到底是什么。
建议LZ在相同数据库内创建另外一表,模拟50W记录进行 update以断定是仅这个表`case`有这个问题,还是所以update有这个问题。 产生问题的可能性因素很多。 例如 锁,磁盘IO瓶颈, INNODB初始文件增长设置不合理等等。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明频率很高的update系统怎么样优化
喜欢 (0)
[1034331897@qq.com]
分享 (0)