1 建立索引
CREATE INDEX idx_nameAgePos ON staff(name, age, pos);
1.1 测试&Explain分析
IndexCase#1:查询Id
EXPLAIN SELECT id FROM staff WHERE name LIKE ‘%Alice%’;

结果:使用上了索引(因为 name 有索引,同时查询的 Id 是主键肯定也有索引)
IndexCase#2:查询name
EXPLAIN SELECT name FROM staff WHERE name LIKE ‘%Alice%’;

结果:使用上了索引(因为查询条件和查询字段都是有索引的 name)
IndexCase#3:查询age
EXPLAIN SELECT age FROM staff WHERE name LIKE ‘%Alice%’;

结果:使用上了索引(因为查询条件的 name 以及查询字段的 age 都有索引)
IndexCase#4:查询 id & name
EXPL
本文通过多个示例分析了在MySQL中,当使用LIKE '%...%'查询时,如何利用覆盖索引来避免索引失效导致的全表扫描。结论指出,只有当模糊查询条件字段及查询返回的所有字段都在索引列上,才能有效利用索引。
最低0.47元/天 解锁文章

5542

被折叠的 条评论
为什么被折叠?



