辅助索引
1: 提取索引列的所有值进行排序
2: 将已经排序的值,均匀的存放在叶子节点,进一步生成枝节点和根节点
3: 在叶子节点中的值,都会存储对应的主键ID
聚合索引
1: mysql会自动选择主键作为聚集索引列,没有主键会选择唯一键,如果都没有会生成隐藏的,但效率没有主键高
2: mysql存储数据时,会按照聚集索引列进行有序的存储数据行
3: 聚集索引直接将原表数据页作为叶子节点,然后提取聚集索引列向上生成枝节点和根节点
辅助索引和聚集索引的区别
1: 表中任何一个字段都可以作为辅助索引列,在你有需要的时候,只要名字不同即可
2: 在一张表中,聚集索引只能有一个,一般时主键
3: 辅助索引,叶子节点只存储列的有序值+聚集索引列值
4: 聚集索引,叶子节点存储的是有序的整行数据
------------------------------------------------------------------------------------------------------------------------------------------
索引数高度
索引数高度越低越好,一般维持在3-4层最佳
数据行较多
分表: parttion 用的比较少了
分片,分布式架构
字段长度
业务允许尽量选择字符长度短的列作为索引列
业务不允许采用前缀索引
数据类型
char和varchar
索引排名
index < range < ref < eq_ref < const(system) < null