mysql update性能优化,mysql 频繁update状态
最近要发布一个新项目,结果最后测试出了问题。后台的MySQL一直以来都有很高的CPU利用率,这是通过:
Show processlist发现异常SQL,更新XX set YY=KK其中pK=?
这是一个简单的SQL,但是为什么它会影响问题呢?
背景:
MySQL数据库,MyIsam表,一级分区按时间建立,二级分区按天建立。
程序:mysql最新驱动Java后台程序,利用rewriteBatch属性批量提交update语句。
解决:
通过比较,发现:
1.没有分区的情况下,1000条记录的更新时间在100-300ms左右,可以接受。注意(没有任何优化)
2.添加分区,并立即超过5s。
因此,猜测是分区使用的分区列在sql中没有使用。即使使用了其他索引,也可以搜索所有分区,因此使用:
解释分区SQL,发现确实是这样,于是问题就解决了。
互联网上的一般例子都是关于查询的:
1、http://www.xiaohui.com/weekly/20070307.htm
2、http://www . Xiaohui . com/dev/server/2007 07 01-discuz-MySQL-CPU-100-optimize . htm