MySQL数据库执行analyze采集信息
文 / @UTHEME
分析MySQL数据库执行analyze采集信息的过程中遇到的问题,以及解决方案:
故障简介:开发发现应用的某个功能查询比以前慢了很多,对应的MySQL数据库中执行计划不正确,其中一个表的统计信息不准确是导致SQL语句执行计划不对的原因。
解决方案:先执行analyze操作,重新采集信息,但是在执行过程中,analyze操作卡住,导致所有涉及查询T表的select语句都无法返回结果,最终导致应用出现各种告警信息,故障复盘时发现是因为执行analyze操作的是一个slave库,所以可以模拟查询操作。先查询慢sql语句,发现有一个会话一直卡住不释放,是导致analyze操作卡住的原因,通过kill掉会话的方式解决了问题。建议在执行analyzetable之前,需要先估算一下表的数据量,根据经验预估需要消耗的时间,避免在业务高峰期执行,同时避免长事务的执行对其产生影响。
总结:MySQL数据库执行analyze采集信息的过程中,需要注意表的数据量以及执行时间,避免在业务高峰期执行,同时需要注意长事务的执行对其产生的影响。

相关文章
-
MySQL Workbench怎么建立数据库(附:sql语句创建数据库方法) 2023-07-20 12:22:29
-
MySQL Workbench是什么?(附:如何设置中文教程) 2023-07-20 11:42:31
-
一起聊聊MySQL主从延时的处理方案 2023-05-14 07:00:03
-
mysql怎么将查询结果赋给变量 2023-05-14 07:00:03
-
mysql驱动是什么 2023-05-14 07:00:03
-
qt5.8如何连接mysql 2023-05-14 07:00:03
-
MySQL 语法整理介绍 2023-05-14 07:00:03
-
mysql修改表结构的语句是什么 2023-05-14 07:00:03
-
mysql乐观锁和悲观锁的区别是什么 2023-05-14 07:00:03
-
mysql查询怎么区分大小写 2023-05-14 07:00:02