1.先看一个单表案例
有如下下数据表,只有主键id
执行sql【explain select id,n1 from tb where n2='f' and n4>'c' order by n3 desc limit 1;】
通过explain分析:
不光是ALL全表扫描,而且还产生了一次内部排序using filesort,效率及其底下。
那么如何建立索引呢?首先n2这个字段肯定是要建立索引的,可以用上等值,而且范围之后索引失效所以可以考虑按n2n3的顺序建立一个索引idx_n2_n3,或者按n2n3n4的顺序建立索引idx_n2_n3_n4。
那么我们先来尝试一种错误的情况,对了n2n4n3建立索引idx_n2_n4_n3。
执行sql【explain select id,n1 from tb where n2='f' and n4>'c' order by n3 desc limit 1;】</