在HighPerformanceMySQL的Redundant and Duplicate Indexes章节中,对于Q1:SELECT count(*) FROM userinfo WHERE state_id=5;
在这两种索引的情况下:KEY state_id_1 (state_id);
KEY state_id_2 (state_id, city, address);
为什么在MyISAM引擎时,Q1的QPS差距那么大,而InnoDB时,Q1的QPS差距那么小,原文上作者说是MyISAM的前缀索引的缘故,但是对于Q1而言,都是走索引即可,统计state_id=5的总数,前缀索引怎么使效率差那么多的?这个一直没有理解。下面附上原文,并标记了相关的四个QPS值。


标签: MySQL, Packed Indexes, QPS