mysql四千位存什么类型,四步法分析定位生產環境下MySQL上千條SQL中的問題所在...

第一步:通過以下兩種方式之一來打開慢查詢功能

(1)方式一:通過修改mysql的my.cnf文件

如果是5.0或5.1等版本需要增加以下選項:

log-slow-queries="mysql_slow_query.log"

如果是5.5版本以上可以增加如下選項:

slow-query-log=On

slow_query_log_file="mysql_slow_query.log"

log-query-not-using-indexes

但是以上修改mysql配置文件的方式需要重啟mysql,這也是它的缺點。

(2)方式二:通過依次執行mysql的如下命令的方式:

set global slow_query_log=ON;

set global long_query_time = 3600;

set global log_querise_not_using_indexes = ON;

第二步:通過如下命令來查看mysql的慢查詢是否已經打開

1)查看設置的屬於慢查詢的時間

show variables like "long_query_time";

執行結果如下:

c39cdeb2c5af9a28f7cc0776f723c8e9.png

第三步:案例講解如何使用

(1)利用以下語句代替真實的操作比較慢的查詢語句

原因:一般mysql的執行速度都是比較快的,想要達到10s需要造的數據比較多。因此用以下語句模擬就比較容易:

select sleep(10);

(2)通過以下語句進行查詢,當前的語句有多少是數據慢查詢的

show global status like '%slow%';

執行結果如下:

12103531e0b7dce1632723612bb4cf6d.png

結果解釋:因為剛才執行了一個sleep語句,所以Slow_queries里邊的數值變為1了。

第四步:通過最終的日志來分析查詢語句慢的真正原因:

具體操作辦法就是查看日志。比如剛才產生了一條慢查詢了,因此,日志內容如下:

16106ee392035cf097fc8e1e61fe88d0.png

過以上可以看到,查詢慢的語句是select sleep(10);

但是實際生產環境下產生的慢查詢的sql語句需要借助explain進行分析,然后根據獲取的相關信息進行針對性改進。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值