日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

深入mysql慢查询设置的详解

發布時間:2023/12/10 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入mysql慢查询设置的详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

深入mysql慢查詢設置的詳解

在web開發中,我們經常會寫出一些SQL語句,一條糟糕的SQL語句可能讓你的整個程序都非常慢,超過10秒一般用戶就會選擇關閉網頁,如何優化SQL語句將那些運行時間 比較長的SQL語句找出呢?MySQL給我們提供了一個很好的功能,那就是慢查詢!所謂的慢查詢就是通過設置來記錄超過一定時間的SQL語句!那么如何應用慢查詢呢?

1.開啟MySQL的慢查詢日志功能
默認情況下,MySQL是不會記錄超過一定執行時間的SQL語句的。要開啟這個功能,我們需要修改MySQL的配置文件,windows下修改my.ini,Linux下修改my.cnf文件,在[mysqld]最后增加如下命令:

slow_query_log

long_query_time = 1


2.測試慢查詢日志功能
(1)進入MySql控制臺,執行如下語句:

select sleep(2);

mysql> select sleep(2);
+----------+
| sleep(2) |
+----------+
|??????? 0 |
+----------+
1 row in set (2.12 sec)
(2)查看慢查詢日志文件think-slow.log,在文件最后發現:

# Time: 121120 20:06:23

# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 2.104120? Lock_time: 0.000000 Rows_sent: 1? Rows_examined: 0
SET timestamp=1353413183;
select sleep(2);

3.解釋:
(1)slow_query_log 這句是開啟記錄mysql 慢查詢功能,slow_query_log=0關閉;slow_query_log=1開啟(這個1可以不寫)

?(2)long_query_time = 1 這句是記錄超過1秒的SQL執行語句

(3)那么這個日志文件存放在什么地方呢?
默認是放在mysql的data目錄,并且文件名為host_name-slow.log即 主機名-slow.log,比如在筆者的開發機上就是THINK-slow.log(因為偶用的Thinkpad,呵呵)

(4)如果日志文件不想放在data目錄,我們可以通過如下配置指定存放的目錄及日志文件名:
slow_query_log_file=file_name
其中file_name就是你的存放日志的目錄和文件名,在這里注意有的資料上可能是log-slow-queries=file_name,這個在mysql5.5版已經過時!

4.如何記錄低于1s的慢查詢記錄呢?
MySQL5.21版以前long_query_time 參數的單位是秒,默認值是10。這相當于說最低只能記錄執行時間超過 1 秒的查詢,怎么記錄查詢時間超過100毫秒的SQL語句記錄呢?在mysql5.21+后版本支持毫秒記錄
(1)進入MySql控制臺,運行如下sql語句:

set global long_query_time=0.1

該句是設置記錄慢查詢超過時間100ms的SQL,記住要重啟mysql才能生效!
(2)測試
進入mysql控制臺,執行如下sql語句:

select sleep(0.5);

查看慢查詢日志文件,看到最后添加的新信息:

# Time: 121120 20:42:06

# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 0.500028? Lock_time: 0.000000 Rows_sent: 1? Rows_examined: 0
SET timestamp=1353415326;
select sleep(0.5);

更多有關mysql慢查詢的內容,請參考:
有關 mysql 慢查詢日志
mysql開啟慢查詢實例演練(圖文)
mysql開啟慢查詢日志的方法
MySQL 5.1.6以上版本動態開啟慢查詢日志的方法
mysql 慢查詢的原因分析點滴
學習開啟mysql慢查詢與分析查詢語句
mysql開啟慢查詢以檢查查詢慢的語句

出處:http://www.cnblogs.com/cfinder010/p/3434778.html

轉載于:https://blog.51cto.com/frankch/1759125

總結

以上是生活随笔為你收集整理的深入mysql慢查询设置的详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。