位置: 编程技术 - 正文

一次MySQL慢查询导致的故障(mysqlsum查询慢)

编辑:rootadmin

推荐整理分享一次MySQL慢查询导致的故障(mysqlsum查询慢),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql查询太慢 数据量大 怎么优化,mysql查询太慢 数据量大 怎么优化,mysql join查询慢,mysql数据查询慢,mysql5.7慢查询,mysql 慢查询,mysql一次查询的过程,mysql 慢查询,内容如对您有帮助,希望把文章链接给更多的朋友!

我们知道分析MySQL语句查询性能的方法除了使用EXPLAIN 输出执行计划,还可以让MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为“慢查询”。

一、 起因研发反应某台数据库僵死,后面的会话要么连接不上,要么要花费大量的时间返回结果,哪怕是一个简单的查询。

二、 处理首先去监控平台查看服务器以及数据库状态,发现这台数据库有大量的慢查询。继续看服务器监控,CPU 平均使用率较高,IO 读写平均值正常。登录到 MySQL,使用 SHOW PROCESSLIST 查看会话状态,总数居然有 +,这是很不正常的。查看慢查询日志,发现出问题的 SQL 主要集中在几个,有 SUM、有 COUNT、有等值操作等等。这台 MySQL 服务器的 long_query_time 设置为 3秒,而一个简单的查询却要几十秒,这显然是有问题的。写脚本试着 kill 掉相关的会话,发现于事无补,仍然有大量的连接进来。此时使用 top 查看服务器状态,mysqld 进程占用内存和 CPU 居高不下。

故障期间的慢查询数,如图:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_db1dc.png" alt="查看图片" />

CPU 平均使用率,如图:

Notice: Undefined index: CMSdown in /data/webroot/gcms/lib/Api/Open/Article.php on line img////_daad.png" alt="查看图片" />

接着使用 SHOW FULL PROCESSLIST 查看完整状态,在最上面居然发现几条 SQL。这些 SQL 操作使用子查询实现,TIME 列居然达到了 秒,折算过来差不多 小时。EXPLAIN 这些语句,居然出现了 USING TEMPORY 和 USING FILESORT,可以看出这些语句是很糟糕的。于是跟开发确认,紧急把这些会话 kill 掉。稍等片刻,会话数立马降下来,只有 +,top 查看 mysqld 进程,内存和 CPU 都呈现下降的趋势。接着分析开发说上午 9 时写了这些 SQL,发现有问题,注释掉了。新的代码虽然没有此类 SQL,但之前建立的连接并不会释放。解决问题和出现问题的时间差刚好可以和添加子查询的时间对应,就可以确认子查询是此次故障的罪魁祸首。

一次MySQL慢查询导致的故障(mysqlsum查询慢)

三、 总结通过这个故障,总结如下几点:

MySQL 应该尽量避免使用子查询,即使使用,也要搞清楚大表和小表的关系; 出现这类问题的排查步骤:

第一,查看服务器监控和 MySQL 监控,分析服务器以及 MySQL 性能,找出异常;第二,如果是慢查询导致,查看慢查询日志,找出出现问题的 SQL,试着优化,或者把结果缓存;第三,分清主次,先解决大块问题,后解决细小问题。 把大块的异常解决,小问题就迎刃而解了。比如本文中的例子,把耗费时间长的会话 kill 掉后,后面的连接就正常了;第四,总结分析。

高效的沟通会事半功倍; DBA 需要定期给出 Top N SQL(类 Oracle 的说法),提供给开发,并协助优化; 查看监控时,不管是服务器监控还是 MySQL 监控,需要做对比,比如和昨天甚至前天的同一时间对比,这会更加快速地定位问题。

四、 技巧最后,附上一个快速kill 掉 MySQL 会话的方法:

首先使用如下语句分析出有问题的 SQL:

/usr/local/mysql/bin/mysql -uroot -p'XXX' -e "SHOW FULL PROCESSLIST;" | more

然后将 SHOW FULL PROCESSLIST 的结果保存到一个文件:

/usr/local/mysql/bin/mysql -uroot -p'XXX' -e "SHOW FULL PROCESSLIST;" | grep "XXX" | awk '{print $1}' > mysql_slow.txt

最后使用如下简单的 Shell 脚本 kill 掉相关会话:

当然也可以使用如下 SQL 拼接 kill 语句:

本文对MySQL慢查询导致故障的起因,处理方法,所需的技巧进行了全面分析,希望可以让大家更好的了解MySQL慢查询,对大家的。

mysql中一个普通ERROR (HY)错误引发的血案 今天接到测试人员反应,测试环境前端应用程序无连接mysql数据库,登录mysql服务器,查看错误日志,发现有如下报错:ERROR(HY):Can'tcreateanewthread(errn

MySQL备份与恢复之冷备(1) 用一句话概括冷备,就是把数据库服务,比如MySQL,Oracle停下来,然后使用拷贝、打包或者压缩命令对数据目录进行备份。如果数据出现异常,则可以通

MySQL备份与恢复之真实环境使用冷备(2) 在上一篇文章(MySQL备份与恢复之冷备)中,我们提到了冷备。但是有个问题,我们存储的数据文件是保存在当前本地磁盘的,如果这个磁盘挂掉,那我

标签: mysqlsum查询慢

本文链接地址:https://www.jiuchutong.com/biancheng/347953.html 转载请保留说明!

上一篇:分享一下Mysql常见的几个错误问题及解决方法(mysql常见语句总结)

下一篇:mysql中一个普通ERROR 1135 (HY000)错误引发的血案

  • 交强险必须交车船使用税吗?交多少钱?
  • 转出未交增值税是借方还是贷方
  • 城镇土地使用税的征税范围
  • 电费为什么计入成本费用
  • 包装纸箱属于原材料吗
  • 公司取现需要带什么东西
  • 调整以前年度递延收益确认收入账务处理
  • 红冲发票跨年怎么操作
  • 会计凭证借方和贷方怎么填
  • 外汇资本金入账要求
  • 营业外支出企业所得税怎么填
  • 预付款期末有结余年末如何做账务处理?
  • 移动电子发票怎么发送到邮箱
  • 企业开票代码是什么意思
  • 减税必须通过开户银行吗
  • 用于研发的材料进项能否加计抵扣1%
  • 对外捐赠资产时应计入什么科目
  • 试营业期间的费用算不算开办费?
  • 收购企业收购方和被收购方如何做账?
  • 销售成本会计分录怎么做
  • 治理层和管理层包括哪些
  • 代开房租的税点计入什么科目?
  • 判断企业存货过多的判断方法
  • 出口企业免抵退不得抵扣进项
  • 国家差旅费报销最新标准住宿
  • 相关企业之间的竞争
  • php实现购物车功能的方法
  • 预付购买材料款属于什么会计科目
  • zen+框架
  • 酒类销售企业广告宣传语
  • 企业所得税是地税申报还是国税申报
  • 既简单又安全的小实验
  • python photoshop
  • 减资如何弥补亏损
  • 购销合同印花税最新政策2023
  • 劳务公司开发票劳务公司如何转取收入?
  • 直播属于什么行业门类
  • sql server功能选择
  • 增值税留抵税额借贷方向
  • 暂估入库的商品作暂估冲红会计分录
  • 加油票子能报销吗
  • 旅游发票可以做差旅费吗
  • 制造费用怎么写
  • 建筑公司支付给农民工的工资需要取得发票吗
  • 房地产公司销售土地使用权
  • 收据能不能入账账户
  • 红字发票最多几个月
  • 用于研发购买的云服务器应计入研发费用直接投入里吗
  • 营业税金及附加会计分录
  • mysql实时监控工具
  • win7跟xp怎样连接局域网
  • Windows Server 2003关闭启动后的Ctrl+Alt+Del选项和关机时的时间跟踪程序方法
  • linux系统中用户密码保存在什么文件中
  • 去掉快捷功能
  • 永恒之塔客户端是32位
  • ie11forwindows10
  • linux用户是什么意思
  • 云存储服务怎么打开
  • win7系统安装谷歌浏览器
  • [置顶]津鱼.我爱你
  • div+css布局的步骤
  • node.js设置环境变量
  • unity4.5.3f3 和 Android的通信
  • 多态和封装的区别
  • python开发软件教程
  • angular使用
  • python3 mongodb
  • javascript刷新页面的几种方法
  • JavaScript中的数据类型分为两大类
  • unity脚本api
  • High Level Networking Concepts
  • javascript面向对象编程
  • 化妆品的消费税率为
  • 票种删除需要怎么弄
  • 江苏省电子税务局怎么添加办税人员
  • 养老专业在职研究生好吗
  • 德税手卷烟海淘
  • 两会热点有哪些呀?
  • 山东省税务局地税苑宿舍是谁开发的?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设