我有一张简单的桌子->
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY
by_id INT UNSIGNED NOT NULL
posted_on INT UNSIGNED NOT NULL
我的表引擎是MyISAM.
我有一个多列索引combo1调用by_id,posted_on,id
我运行这个查询->
EXPLAIN SELECT * FROM books
WHERE by_id = '1' AND posted_on = '0'
ORDER BY id DESC LIMIT 7;
列Extra说Using where和关键列说combo1
但是,当我运行这个查询时->
EXPLAIN SELECT * FROM books
WHERE by_id IN(1,7,10) AND posted_on = '0'
ORDER BY id DESC LIMIT 7;
列Extra说Using where; Using filesort和关键列说combo1。
为什么filesort即使 QEP 显示优化器正在使用索引组合 1,它在其中索引了“id”,也会在第二种情况下发生。