在日常開發當中,經常會遇到頁面開啟速度極慢的情況,通過排除,確定了,是資料庫的影響,為了迅速查詢具體的sql,可以通過mysql的日誌記錄方法。
-- 開啟sql執行記錄功能
set global log_output='table'; -- 輸出到表
set global log=on; -- 開啟所有命令執行記錄功能general_log, 所有語句: 成功和未成功的.
set global log_slow_queries=on; -- 開啟慢查詢sql記錄slow_log, 執行成功的: 慢查詢語句和未使用索引的語句
set global long_query_time=0.1; -- 慢查詢時間限制(秒)
set global log_queries_not_using_indexes=on; -- 記錄未使用索引的sql語句
-- 查詢sql執行記錄
select * from mysql.slow_log order by 1; -- 執行成功的:慢查詢語句,和未使用索引的語句
select * from mysql.general_log order by 1; -- 所有語句: 成功和未成功的.
-- 關閉sql執行記錄
set global log=off;
set global log_slow_queries=off;
-- long_query_time引數說明
-- v4.0, 4.1, 5.0, v5.1 到 5.1.20(包括):不支援毫秒級別的慢查詢分析(支援精度為1-10秒);
-- 5.1.21及以後版本 :支援毫秒級別的慢查詢分析, 如0.1;
-- 6.0 到 6.0.3: 不支援毫秒級別的慢查詢分析(支援精度為1-10秒);
-- 6.0.4及以後:支援毫秒級別的慢查詢分析;
通過日誌中記錄的sql,迅速定位到具體的檔案,優化sql看一下,是否速度提公升了呢?
mysql慢查詢日誌記錄
1,配置開啟 linux 在mysql配置檔案my.cnf中增加 log slow queries var lib mysql slowquery.log 指定日誌檔案存放位置,可以為空,系統會給乙個預設的檔案host name slow.log long query time 2 記錄超過的時間,...
mysql慢查詢日誌記錄
1,配置開啟 linux 在mysql配置檔案my.cnf中增加 log slow queries var lib mysql slowquery.log 指定日誌檔案存放位置,可以為空,系統會給乙個預設的檔案host name slow.log long query time 2 記錄超過的時間,...
開啟mysql慢查詢日誌記錄
mysql慢查詢日誌對於跟蹤有問題的查詢非常有用,可以分析出當前程式裡有很耗費資源的sql語句,那如何開啟mysql的慢查詢日誌記錄呢?其實開啟mysql的慢查詢日誌很簡單,只需要在mysql的配置檔案裡 windows系統是my.ini,linux系統是my.cnf 的 mysqld 下面加上如下...