對于MySQL數據庫的優化來說,了解查詢的執行計劃是非常重要的。通過執行計劃可以知道查詢的執行方式,從而找到優化的瓶頸。
MySQL提供了非常方便的方式來查看執行計劃,可以在查詢前加上"explain"關鍵字,例如:
explain select * from users where age > 18;
執行以上語句后,MySQL會返回一個表格,在表格中包含了查詢語句的執行計劃。表格中的每一行都代表查詢執行的一步,從上到下依次執行。表格中的每一列表示了一個屬性:
- id:每個SELECT語句都有一個唯一的ID。相同的查詢, ID相同
- select_type:查詢的類型
- table:查詢中涉及到的表名
- type:MySQL對表的訪問方式
- possible_keys:此次查詢可以使用的索引
- key:此次查詢實際使用的索引
- key_len:使用的索引的長度
- ref:顯示此次查詢使用的索引是哪個表的哪個字段
- rows:MySQL預估需要檢索的行數
- Extra:顯示更多信息。如sort、using filesort等
通過分析查詢的執行計劃,可以找到查詢的問題,從而進行優化。比如可能需要增加索引,或者重新優化查詢語句等。
上一篇讓css樣式失效
下一篇讓圖片只顯示一半css