每日一记:聚簇索引也叫聚集索引

每日一记:索引相关

聚簇索引也叫聚集索引:(聚餐索引是一直存在的,有主键就是主键索引,没主键就是rowid,择优选择个列)
在聚集索引中,B+树上会存储这一行的全部数据,但是非聚集索引只会存储该列对应的值和相应行的主键。
聚簇索引叶子结点存的是数据,普通索引叶子结点存的是聚簇索引的id
1.如果where条件走普通索引了,他会去找聚簇索引的节点,这种普通索引查聚簇索引返回数据的方式称为回表,避免回表就利用覆盖索引(用联合索引解决);
2.有联合索引的话,查的不是*而是某个字段(或者两个),而这个字段刚好在联合索引字段里,那就索引覆盖直接返回数据(联合索引是把联合的列存进叶子结点)
3.聚簇索引叶子结点页16kb,如果是自增主键,那就是依次往后加就行,如果比如是uuid需要往中间插入,浪费资源,所以一般使用自增主键,自增主键还有好处是字段(int4或者bigint8),uuid1632比较大,太浪费资源,自增主键还可以预测,比如你知道10001是主键,那10002,10003是主键,插入多少数据有心里数比较方便
4.rowid一直存在:如果表中有主键,那row就是id,如果表中没有主键,但是表中有唯一键并且类型数值型不为空的条件下,rowid就是当前字段类型,如果上述两种情况都没有,那mysql会默认生成一个6字节的一个指针2^48 ,超过了2^48前面得数据就会被覆盖,或者报错?(自增主键超过int个数会覆盖或者报错?)

所以PK查询非常快,直接定位行记录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值