首先需要明白什么是聚簇索引 和 二级索引
聚簇索引 :主键 和 记录存储在一起。
二级索引:索引和主键存储在一起。按索引查询后查询的是主键信息,在回表才能查询到记录。
1. 存储空间
按照page 16k 计算。索引字段大小-> b+树层数 3层 的树 16K/(8字节的key + 8 字节指针)一页可以存储 1k记录。那么可以存储 1k * 1k *1k = 10亿条记录
2.主键选择
自增主键
写入速度快,但是需要走二级索引。需要回表操作。
随机主键
当页满时,由页的最大最小值判断还能往页里插入时,会引起表分裂,数据移动。写入速度受到影响。
业务主键
由业务自己定义的主键。采用雪花算法,在有序的基础上。也可以避免走二级索引。
联合主键
主键的字段长度和字段数目要越少越好
3.联合索引
按索引区分度排序
尽量能过滤掉更多的数据
覆盖索引
主键和要查询字段 建立索引。避免了走二级索引回表。
4. 字符串索引
设置合理长度
模糊查询可能引起索引失效。