通过 EXPLAIN 分析低效 SQL 的执行计划
每個(gè)列的簡(jiǎn)單解釋如下:
? select_type:表示 SELECT 的類型,常見(jiàn)的取值有 SIMPLE(簡(jiǎn)單表,即不使用表連接
或者子查詢)、PRIMARY(主查詢,即外層的查詢)、UNION(UNION 中的第二個(gè)或者后面的查詢語(yǔ)句)、SUBQUERY(子查詢中的第一個(gè) SELECT)等。
? table:輸出結(jié)果集的表。
? type:表示表的連接類型,性能由好到差的連接類型為 system(表中僅有一行,即常量表)、const(單表中最多有一個(gè)匹配行,例如 primary key 或者 unique index)、 eq_ref(對(duì)于前面的每一行,在此表中只查詢一條記錄,簡(jiǎn)單來(lái)說(shuō),就是多表連接 中使用primarykey或者uniqueindex)、re(f 與eq_ref類似,區(qū)別在于不是使用primary key 或者 unique index,而是使用普通的索引)、ref_or_null(與 ref 類似,區(qū)別在于 條件中包含對(duì) NULL 的查詢)、index_merge(索引合并優(yōu)化)、unique_subquery(in 的后面是一個(gè)查詢主鍵字段的子查詢)、index_subquery(與 unique_subquery 類似, 區(qū)別在于 in 的后面是查詢非唯一索引字段的子查詢)、range(單表中的范圍查詢)、 index(對(duì)于前面的每一行,都通過(guò)查詢索引來(lái)得到數(shù)據(jù))、all(對(duì)于前面的每一行,都通過(guò)全表掃描來(lái)得到數(shù)據(jù))。
? ?possible_keys:表示查詢時(shí),可能使用的索引。
? ?key:表示實(shí)際使用的索引。
? ?key_len:索引字段的長(zhǎng)度。
? ?rows:掃描行的數(shù)量。
? ?Extra:執(zhí)行情況的說(shuō)明和描述。
轉(zhuǎn)載于:https://www.cnblogs.com/assasion/p/9888020.html
總結(jié)
以上是生活随笔為你收集整理的通过 EXPLAIN 分析低效 SQL 的执行计划的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最小二乘法的本质原理
- 下一篇: 【学习总结】GirlsInAI ML-d