MYSQL state状态举例分析

这篇文章主要讲解了“MYSQL state状态举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MYSQL state状态举例分析”吧!

背景:机房迁移,原报表系统在新的db上出报表非常慢

1.查看连接状态

  1. mysql> show full processlist;

  2. +——–+—————–+———————+———-+———+———+—————————————————————————–+———————–+

  3. | Id | User | Host | db | Command | Time | State | Info |

  4. +——–+—————–+———————+———-+———+———+—————————————————————————–+———————–+

  5. | 1 | event_scheduler | localhost | NULL | Daemon | 2247681 | Waiting on empty queue | NULL |

  6. | 121456 | system user | | NULL | Connect | 784383 | Waiting for master to send event | NULL |

  7. | 121457 | system user | | NULL | Connect | 1 | Slave has read all relay log; waiting for the slave I/O thread to update it | NULL |

  8. | 121468 | ecejadmin | 192.168.2.104:42497 | ecejdbv3 | converting HEAP to MyISAM | 1 | | 复杂sql                 |

  9. | 121469 | ecejadmin | 192.168.2.10:54423 | ecejdbv3 | converting HEAP to MyISAM | 2 | | 复杂sql |

  10. | 121470 | ecejadmin | 192.168.2.12:9386 | ecejdbv3 | converting HEAP to MyISAM | 1 | | 复杂sql |

  11. | 121471 | ecejadmin | 192.168.2.104:63937 | ecejdbv3 | converting HEAP to MyISAM | 2 | | 复杂sql

报表sql状态如上

2.处理过程

  1. 1.在终端里set profiling=1;

  2. 2.输入要调整的SQL语句,比如复杂sql;

  3. 3.输入show profiles;看看刚才那条语句的ID 用于后面分析

  4. 4.show profile for query 2;

  5. 5.show profile block io,cpu for query 2;

  6. 6.show profile cpu,block io,memory,swaps,context switches,source for query 5;

  7. 7.通过上面的一些查询 大体可以看出这条SQL语句执行的时候哪些地方占用的时间太大了。这次测试看到的是Copying to tmp table on disk和converting HEAP to MyISAM占有的时间太多。网上查了一下发现可以修改一下tmp_table_size和max_heap_table_size两个参数来调整,使得大数据量的查询时不用将结果集拷贝到物理磁盘。这样时间就争取过来了

感谢各位的阅读,以上就是“MYSQL state状态举例分析”的内容了,经过本文的学习后,相信大家对MYSQL state状态举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/202161.html

(0)
上一篇 2021年11月25日
下一篇 2021年11月25日

相关推荐

发表回复

登录后才能评论