MySQL的 explain 命令語句提供了如何執行 SQL 語句的信息,解析 SQL 語句的執行計劃并展示,explain 支持 select、delete、insert、replace 和 update 等語句,也支持對分區表的解析。
通常 explain 用來獲取 select 語句的執行計劃,通過 explain 展示的信息我們可以了解到表查詢的順序,表連接的方式等,并根據這些信息判斷 select 執行效率,決定是否添加索引或改寫 SQL 語句優化表連接方式以提高執行效率。本文參考官方文檔:EXPLAIN Output Format 對 explain 輸出的內容進行說明,同時也對自己之前使用 explain 不清晰的方面進行總結。
本文使用的 MySQL 版本為官方社區版 5.7.24。
@localhost:(none)> select version();+------------+| version() |+------------+| 5.7.24-log |+------------+1 row in setTime: 0.066s