explain extended SELECT c . id , c . city_name ,
c . area_code , c . country_id ,
c . is_mvoo , c . is_byoo FROM city c ,
mdn m WHERE c . id = m . city_id AND c . whitelabel_partner_id =5 AND
c . active = 'Y' AND c . country_id = 73 AND m . MDN_state_id = 7 GROUP BY
m . city_id HAVING COUNT( m . city_id ) > 50
ORDER BY c . sorting , c . city_name;
任何人告诉我应该在哪些列上应用索引,以便摆脱使用临时和使用filesort。
答案 0 :(得分:0)
将常量列的组合索引放在第一位,然后在索引中添加连接列。您不必在两个表上添加索引,因为MySQL只会使用其中一个。
ALTER TABLE City ADD INDEX combIdx_1 (whitelabel_partner_id, active, country_id, id)
添加
... UNIQUE INDEX ...
如果所有cols的组合都是唯一的。