MySQL-慢查詢、執行計劃

慢查詢日誌記錄

  • 查看是否開啓
show variables like 'log_slow_queries'; 

  • 查看慢查詢日誌記錄時間閾值
show variables like 'long_query_time'; 

  • 慢查詢配置
  1. 通過my.ini文件配置,重啓服務後生效
log-slow-queries = D:/mysqlslowquery.log
long_query_time = 2

explain來了解SQL執行的狀態

  • 使用方法:在select語句前加上explain就可以了

  1. table:顯示這一行的數據是關於哪張表的
  2. type:這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型爲const、eq_reg、ref、range、indexhe和ALL
  3. possible_keys:顯示可能應用在這張表中的索引。如果爲空,沒有可能的索引。可以爲相關的域從WHERE語句中選擇一個合適的語句
  4. key:實際使用的索引。如果爲NULL,則沒有使用索引。很少的情況下,MYSQL會選擇優化不足的索引。這種情況下,可以在SELECT語句 中使用USE INDEX(indexname)來強制使用一個索引或者用IGNORE INDEX(indexname)來強制MYSQL忽略索引
  5. key_len:使用的索引的長度。在不損失精確性的情況下,長度越短越好
  6. ref:顯示索引的哪一列被使用了,如果可能的話,是一個常數
  7. rows:MYSQL認爲必須檢查的用來返回請求數據的行數
  8. Extra:關於MYSQL如何解析查詢的額外信息

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章