官方地址:https://dev.mysql.com/doc/
我們先看一下explain有哪些字段列,使用的版本是Mysql 8.0
前期准備

-- 創建用戶表 CREATE TABLE T_USER (id int primary KEY, loginname varchar(20), name varchar(100), age int, sex char(1), dep int, address varchar(100) ) ENGINE = INNODB DEFAULT CHARSET=utf8 COMMENT='用戶表'; -- 創建索引 create index nasb_index on t_user(name, age, sex, dep) ;
查看有哪些索引:
查看執行計划:
- id列:值越大越優先執行。
- select_type列:查詢的類型,不重要
- table列:查詢的哪個表
- partitions列
- type列:非常重要的值,要特別關注,一般要求做查詢,最少在range級別。ALL:表示全表掃描,最低級別。
- possible_keys列:可能存在的索引列
- key列:實際用到的索引列
- ken_len列:統計長度,int占4個字節,允許為空,多占一個字節
- ref列
- rows列:獲取的條數,預估的值
- filtered列:過濾了多少列,預估的值
- Extra列:額外的。常見有using where、using index 索引覆蓋、using index condition 索引下推。