在日常開發當中,經常會遇到頁面打開速度極慢的情況,通過排除,確定了,是數據庫的影響,爲了迅速查找具體的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看一下,是否速度提升了呢?