四步法分析定位生产环境下MySQL上千条SQL中的问题所在
第一步:通過以下兩種方式之一來打開慢查詢功能
(1)方式一:通過修改mysql的my.cnf文件
如果是5.0或5.1等版本需要增加以下選項(xiàng):
如果是5.5版本以上可以增加如下選項(xiàng):
但是以上修改mysql配置文件的方式需要重啟mysql,這也是它的缺點(diǎn)。
(2)方式二:通過依次執(zhí)行mysql的如下命令的方式:
第二步:通過如下命令來查看mysql的慢查詢是否已經(jīng)打開
1)查看設(shè)置的屬于慢查詢的時(shí)間
執(zhí)行結(jié)果如下:
? ? ? ? ? ? ? ? ? ? ??
第三步:案例講解如何使用
(1)利用以下語句代替真實(shí)的操作比較慢的查詢語句
原因:一般mysql的執(zhí)行速度都是比較快的,想要達(dá)到10s需要造的數(shù)據(jù)比較多。因此用以下語句模擬就比較容易:
(2)通過以下語句進(jìn)行查詢,當(dāng)前的語句有多少是數(shù)據(jù)慢查詢的
執(zhí)行結(jié)果如下:
? ? ? ? ? ? ? ? ? ? ??
結(jié)果解釋:因?yàn)閯偛艌?zhí)行了一個(gè)sleep語句,所以Slow_queries里邊的數(shù)值變?yōu)?了。
第四步:通過最終的日志來分析查詢語句慢的真正原因:
具體操作辦法就是查看日志。比如剛才產(chǎn)生了一條慢查詢了,因此,日志內(nèi)容如下:
? ? ? ? ? ? ? ? ? ? ? ?
過以上可以看到,查詢慢的語句是select sleep(10);
但是實(shí)際生產(chǎn)環(huán)境下產(chǎn)生的慢查詢的sql語句需要借助explain進(jìn)行分析,然后根據(jù)獲取的相關(guān)信息進(jìn)行針對(duì)性改進(jìn)。
轉(zhuǎn)載于:https://www.cnblogs.com/rinack/p/9736481.html
總結(jié)
以上是生活随笔為你收集整理的四步法分析定位生产环境下MySQL上千条SQL中的问题所在的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery(三):样式操作
- 下一篇: Python 各种运行错误(如:Synt