国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL啟用慢查詢日志記錄方法

2024-07-24 12:52:53
字體:
來源:轉載
供稿:網友

在MySQL中,慢查詢的界定時間是由MySQL內置參數變量long_query_time來指定的,其默認值為10(單位:秒),我們可以通過show variables like 'long_query_time';指令來查看該參數變量的信息:
long_query_time的默認值為10秒

不過,在程序開發過程中,我們認為慢速查詢的界定時間并沒有10秒這么長,依據不同項目的不同需求,我們一般將慢查詢的界定時間設定為1~5秒之間。我們可以使用指令set long_query_time = 秒數來設定long_query_time變量的值。
設定long_query_time的值為1秒

修改了long_query_time參數后,我們還需要讓MySQL能夠記錄下慢查詢的日志信息。因為,在默認情況下,MySQL并不會記錄慢查詢的日志信息。如果要記錄慢查詢日志,我們需要以命令行方式進入MySQL安裝目錄in目錄(也可將該目錄添加到PATH環境變量中),使用如下命令重新啟動MySQL:

#中括號[]內的部分是可選的,file_name表示日志文件路徑#在5.5及以上版本的MySQL中,使用如下命令啟動:mysqld --show-query-log[=1] [--show-query-log-file=file_name]#在5.0、5.1等低版本的MySQL中,使用如下命令啟動:mysqld --log-slow-queries[=file_name]

 在上述命令中,如果沒有指定日志文件名,則日志文件名稱默認為主機名-slow.log;如果沒有指定文件路徑或者指定的文件路徑不是絕對路徑,則日志文件將默認存放在MySQL配置文件my.ini中參數datadir所指定的目錄下。
此外,你也可以將上述命令行啟動命令配置到my.ini中的[mysqld]節點下,這樣無需每次手動鍵入上述命令來啟動。

[mysqld] #設置慢查詢界定時間為1秒 long_query_time=1 #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"

注意:雖然慢查詢的名字中只包含了”查詢”,實際上并不僅僅表示SELECT查詢操作,諸如INSERT、UPDATE、DELETE、CALL等其他DML操作,只要是超過指定時間的,都可以稱之為“慢查詢”,并且會記錄在慢查詢日志中。

這個時候,我們就需要使用EXPLAIN指令來獲取SELECT語句執行的細節信息。在MySQL中數據庫中,EXPLAIN指令的用法非常簡單,如下所示:

EXPLAIN SELECT語句

--例如:EXPLAIN SELECT * FROM admin WHERE user_id = 1;

如果是在Oracle數據庫中,我們同樣可以使用如下SQL語句來獲取SELECT語句的執行計劃信息:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五家渠市| 定兴县| 武安市| 湘西| 宜川县| 黔江区| 鸡西市| 福州市| 噶尔县| 农安县| 民权县| 兴宁市| 唐山市| 民权县| 辽宁省| 邳州市| 上林县| 婺源县| 奉化市| 交口县| 赤城县| 福贡县| 江安县| 黄冈市| 鄂伦春自治旗| 琼中| 浙江省| 天门市| 左云县| 开封市| 易门县| 泽普县| 高平市| 伊通| 昌宁县| 嵊泗县| 鄢陵县| 永清县| 磐安县| 遂昌县| 胶南市|