關于MySQL中explain工具的使用
EXPLAIN 是 MySQL 提供的一種工具,用于分析查詢語句的執(zhí)行計劃,即查詢優(yōu)化器是如何決定執(zhí)行查詢語句的。EXPLAIN可以幫助我們分析查詢語句的性能瓶頸,找出問題所在,進而優(yōu)化查詢語句和數據庫結構。
使用EXPLAIN非常簡單,只需要在查詢語句前面加上EXPLAIN關鍵字即可,如下所示:
explain select * from articles where url='csdn.com'
輸出結果如下:(圖片太長,這里切分成 2 張,實際上是一張)
輸出結果詳解:
- id:既是查詢的標識符,表示查詢中每個操作的唯一標識;也是執(zhí)行查詢的順序,越大優(yōu)先級越高。
- select_type:查詢類型,表示查詢的類型,如簡單查詢、聯(lián)合查詢、子查詢等等。
- table:查詢涉及的表名。
- partitions:查詢涉及的分區(qū)名。
- type:訪問類型,表示MySQL在表中查找所需行的方式,常用的有ALL、index、range、ref、eq_ref、const等等。
- possible_keys:可能使用的索引,表示查詢語句中可能會使用到的索引。
- key:實際使用的索引,可以查看本次查詢是否用到了索引。
- key_len:索引使用的字節(jié)數。
- ref:列與索引的比較條件。
- rows:掃描的行數,表示MySQL執(zhí)行查詢語句時需要掃描的行數,這個值越小越好。
- filtered:返回結果集的行數占掃描行數的百分比,值范圍在0~100之間。
- Extra:包含MySQL在執(zhí)行查詢時的一些額外信息,如使用臨時表、排序方式等等。
通過分析EXPLAIN的輸出結果,我們可以確定查詢語句的執(zhí)行計劃、執(zhí)行效率和可能存在的問題,從而進行優(yōu)化。
到此這篇關于關于MySQL中explain工具的使用的文章就介紹到這了,更多相關MySQLexplain工具內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MYSQL使用inner join 進行 查詢/刪除/修改示例
本文為大家介紹下使用inner join 進行查詢/刪除/修改,具體實現(xiàn)如下,學習mysql的朋也可以學習下,希望對大家有所幫助2013-07-07