在使用MySQL作為數據庫的過程中,查詢語句的優化是至關重要的,而查看執行計劃則是優化查詢語句的一個重要方法。下面介紹MySQL中查看執行計劃的語句。
EXPLAIN SELECT * FROM table_name WHERE condition;
執行以上語句會返回查詢語句的執行計劃,即MySQL的查詢優化器在執行這個查詢語句時所選擇的執行路徑。執行計劃包含以下列:
id: 查詢的唯一標識符,可以通過這個id來找到相應的行 select_type: 查詢的類型,分為以下幾種: - SIMPLE: 簡單查詢 - PRIMARY: 包含復雜的子查詢或UNION查詢的最外層查詢 - SUBQUERY: 出現在WHERE或SELECT中的子查詢 - DERIVED: 通過FROM子句中的子查詢導出的表 - UNION: 多個SELECT的聯合查詢 table: 查詢的表名 type: 訪問表的方式,從最優到最差包括以下幾種: - system: 表只有一行 - const: 基于常量的表 - eq_ref: 主鍵或唯一索引掃描 - ref: 非唯一索引掃描 - range: 使用索引范圍查找 - index: FULL INDEX SCAN - ALL: 全表掃描 possible_keys: 可能使用的索引 key: 實際使用的索引 key_len: 使用的索引長度 ref: 關聯的列 rows: 掃描需要的行數 Extra: 額外信息
使用以上語句查看執行計劃可以幫助我們找到查詢語句的瓶頸所在,優化語句,提高查詢效率。
下一篇css一行分左右