mysql的執行計划的Extra詳細說明


#distinct: 一旦mysql找到了與行相聯合匹配的行,就不再搜索了,極少見


#Using index:這發生在對表的請求列都是同一索引的部分的時候,返回的列數據只使用了索引中的信息,而沒有再去訪問表中的行記錄。是性能高的表現。
#using index也叫索引覆蓋
explain select id,name from film order by id;

#Using where:mysql服務器將在存儲引擎檢索行后再進行過濾。就是先讀取整行數據,再按 where 條件進行檢查,符合就留下,不符合就丟棄。
explain select * from film where id > 1;

#using temporary:mysql需要創建一張臨時表來處理查詢。出現這種情況一般是要進行優化的,首先是想到用索引來優化。
explain select distinct name from actor;
create index idx_name on actor(name);

#using filesort:采用文件掃描對結果進行計算排序,效率很差
#對於排序,只有select 字段 與order by 字段都被索引覆蓋是才允許使用Using Index
explain select name ,update_time from actor order by update_time, name;
create index idx_name_ut on actor(name,update_time);


免責聲明!

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



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