mysql InnoDB 聚集索引,二级索引

InnoDB 索引分为聚集索引(聚簇索引)与二级索引。

聚集索引:

1: 全表唯一且必有一个,主键索引属于聚集索引。

2: 索引项的顺序就是表中数据记录的物理顺序。

3: 若定义了主键索引InnoDB则使用主键索引当做该表的聚集索引,没有主键索引则使用第一个非空的唯一(UNIQUE)索引作为聚集索引,二者都没有则自动创建一个6字节的自增隐藏列作为聚集索引,此列包含了每一行的自增row ID,此聚集索引名为GEN_CLUST_INDEX,按此row ID排序的行在物理上按插入顺序。

二级索引:

除了聚集索引以外的全属于二级索引,每个二级索引列包含主键值,通过二级索引查询的时候首先查到的是主键值,然后根据主键值通过主键索引找到相应的数据块。

参考资料:https://dev.mysql.com/doc/refman/5.7/en/innodb-index-types.html

结论:

        理论上主键索引比二级索引有更好的查询性能,因为数据的物理存储顺序就是主键索引的顺序,并且通过二级索引进行查询的时候,如果二级索引没有覆盖所有查询列(覆盖索引),那么还是要通过二级索引项的主键值查询主键索引才能找到对应的行记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值