博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL update慢问题解决
阅读量:7171 次
发布时间:2019-06-29

本文共 570 字,大约阅读时间需要 1 分钟。

最近新做的一个项目要发布,结果在最终测试时候出问题了。后台的MySQL一直CPU使用率居高不行,通过:

show processlist查看到一个SQL很异常,update XX set YY = KK where pK = ?;

这是一个简单的SQL,可是为什么他可能会影响问题呢。

 

背景:

  MySQL数据库,MyIsam表,按照时间建立一级分区,按照天建立2级分区。

  程序:Java后台程序,mysql的最新驱动,使用rewriteBatch属性,批处理提交update语句。

解决:

  通过对比,发现:

  1、当没有分区存在时候,1000条记录的更新时间在100-300ms左右,这是可以接受的,注意(在没有任何优化前提下)

  2、加上分区,立刻5s以上。

因此,猜测就是分区所用的分区列没有在sql中使用,即使使用了其他索引,也可能搜索所有分区,因此使用:

explain partitions SQL,发现确实是这种情况,于是问题解决。

网上一般的例子都是关于查询的:

1、http://www.xiaohui.com/weekly/20070307.htm

2、http://www.xiaohui.com/dev/server/20070701-discuz-mysql-cpu-100-optimize.htm

转载地址:http://pwwzm.baihongyu.com/

你可能感兴趣的文章
阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
查看>>
织梦程序和ZBLOG系统比较:哪个更加适合建设中小型网站?[图]
查看>>
当移动数据分析需求遇到Quick BI
查看>>
图解分布式系统架构演进之路
查看>>
JavaScript面向对象程序设计创建对象的方法分析
查看>>
程序员笔记|常见的Spring异常分析及处理
查看>>
Java基础:面向对象四大特征、五大原则
查看>>
JSP 生命周期
查看>>
量化交易系统开发:自动化(机器人或EA)交易的优点
查看>>
加拿大:监管机构呼吁加密行业参与证券法审查
查看>>
大数据技术综述
查看>>
MX4 Pro上实现一键锁屏
查看>>
ppt2010 滴管
查看>>
Learn Python The Hard Way(21)
查看>>
[读书笔记]Begining PHP5 and MySQL5 From Novoice to Professional
查看>>
OSChina 周五乱弹 ——做宇宙最低调的程序员.
查看>>
OSChina 周二乱弹 —— 请上车吧
查看>>
github上更新主干的最新代码
查看>>
numpy,pandas数据处理常见问题
查看>>
rocksdb, raft and tidb
查看>>