文章目录
- 主键索引
- 为频繁查询的字段建立索引
- 避免为"大字段"建立索引
- 选择区分度大的列作为索引
- 尽量为ORDER BY 和 GROUP BY 后面的字段建立索引
- 不要在条件中使用函数
- 不要建立太多的索引
- 频繁增删改的字段不要建立索引
- 索引失效的常见场景
主键索引
大家在设计主键的时候一定要是自增的,非常不建议使用UUID作为主键。
为什么?因为UUID是无序的,MySQL在维护聚簇索引的时候都是按照主键的顺序排序的,也就是说每个数据页中的数据一定是按照主键从小到排序的,而且,数据与数据之前是通过单向链表连接的,上一个数据页中的最大的主键的值一定是小于下一个数据页中的最小的主键的值,数据页和数据页之间是通过双向链表来维护的。
如果主键是自增的,MySQL只需要根据主键目录能很快的定位到新增的记录应该插入到哪里,如果主键不是自增的那么每次都需要从头开始比较,然后找到合适的位置,再将记录插入进去,这样真的严重影响效率,所以主键的设计一定