【数据库篇05】mysql优化-什么是聚簇索引什么是非聚簇索引

51 阅读1分钟

什么是聚簇索引什么是非聚簇索引?
什么是聚集索引,什么是二级索引?(非聚簇索引)
什么是回表?
聚集索引:将数据存储和索引放在一块,索引结构的叶子节点保存了行数据(必须有,而且只有一个)
二级索引:将数据和索引分开存储,索引结构的叶子节点关联的是对应的主键(可以存在多个)

聚集索引选取规则:

  • 如果存在主键,主键就是聚集索引
  • 如果不存在主键,将使用唯一索引作为聚集索引
  • 如果表没有主键,或没有合适的唯一索引,则innDB会自动生成一个rowid作为隐藏的聚集索引

知道什么是回表查询嘛?
通过二级索引查找到对应的主键值,到聚集索引中查询整行数据,这个过程就是回表