1.设计索引的原则是什么?
1. 为频繁查询的字段建立索引
2.选择区分度大的列作为索引
性别 男 女 加索引和不加区别不大
超过基线,比如查询的数据集大于30%
3.尽量为ORDER BY 和 GROUP BY 后面的字段建立索引
因为在GROUP BY
的时候也要先根据GROUP BY
后面的字段排序,然后在执行聚合操作。
如果GROUP BY
后面的字段已经建立了索引,那么MySQL
就不需要再去排序,也就不会产生临时表。
2. 索引失效的常见场景
使用 OR 关键字会导致索引失效,不过如果要想使用OR 又不想让索引失效,那就得需要为or条件中的每个列都建立索引。这很显然是和上面的不要建立太多的索引相违背。 联合索引如果不遵循最左前缀原则,那么索引也将失效 使用模糊查询的时候以%开头也会导致索引失效(这里就不再重复原因了,因为前面的文章都是说过了,这里就是为了帮助大家再会回忆下) 索引列如果使用了隐式转换也会导致索引失效 作者:HollisChuang 链接:https://juejin.cn/post/6960470472077082638 来源:稀土掘金
标签:GROUP,原则,建立,查询,索引,面试,失效 From: https://www.cnblogs.com/hixiaowei/p/16608711.html