慢查詢日誌記錄
- 查看是否開啓
show variables like 'log_slow_queries';
- 查看慢查詢日誌記錄時間閾值
show variables like 'long_query_time';
- 慢查詢配置
- 通過my.ini文件配置,重啓服務後生效
log-slow-queries = D:/mysqlslowquery.log
long_query_time = 2
explain來了解SQL執行的狀態
- 使用方法:在select語句前加上explain就可以了
- table:顯示這一行的數據是關於哪張表的
- type:這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型爲const、eq_reg、ref、range、indexhe和ALL
- possible_keys:顯示可能應用在這張表中的索引。如果爲空,沒有可能的索引。可以爲相關的域從WHERE語句中選擇一個合適的語句
- key:實際使用的索引。如果爲NULL,則沒有使用索引。很少的情況下,MYSQL會選擇優化不足的索引。這種情況下,可以在SELECT語句 中使用USE INDEX(indexname)來強制使用一個索引或者用IGNORE INDEX(indexname)來強制MYSQL忽略索引
- key_len:使用的索引的長度。在不損失精確性的情況下,長度越短越好
- ref:顯示索引的哪一列被使用了,如果可能的話,是一個常數
- rows:MYSQL認爲必須檢查的用來返回請求數據的行數
- Extra:關於MYSQL如何解析查詢的額外信息