什么是聚簇索引和非聚簇索引?
- 聚簇索引(聚集索引):数据和索引放在一块,B+树的叶子节点保存了整行数据,有且只有一个。
- 非聚簇索引(二级索引):数据和索引分开存储,B+树的叶子节点保存对应的主键,可以有多个。
什么是回表查询?
答:回表查询,与聚簇索引和非聚簇索引有关系,回表的意思是通过非聚簇索引找到对应的主键值,然后通过主键值找到聚簇索引对应的整行数据。
创建索引的原则
- 大前提,表中的数据量超过10万以上,才会创建索引,并且添加索引的字段是查询比较频繁的字段
- 通常创建索引的时候都是使用复合索引来创建,一条sql的返回值,尽量使用覆盖索引,如果字段的区分度不高的话,把它放在组合索引后面的字段。
- 如果某一个字段的内容较长,考虑使用前缀索引来使用。但索引的数量也要控制,因为添加索引也会导致新增的速度变慢。