MySQL怎么查看執行計划


官方地址: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) ;
View Code

查看有哪些索引:

 

 

 查看執行計划:

 

 

 

  1. id列:值越大越優先執行。
  2. select_type列:查詢的類型,不重要
  3. table列:查詢的哪個表
  4. partitions列
  5. type列:非常重要的值,要特別關注,一般要求做查詢,最少在range級別。ALL:表示全表掃描,最低級別。
  6. possible_keys列:可能存在的索引列
  7. key列:實際用到的索引列
  8. ken_len列:統計長度,int占4個字節,允許為空,多占一個字節
  9. ref列
  10. rows列:獲取的條數,預估的值
  11. filtered列:過濾了多少列,預估的值
  12. Extra列:額外的。常見有using where、using index 索引覆蓋、using index condition 索引下推。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM