为在innodb中什么主键用auto_increment效率会提高

时间:2022-01-03 09:09:11

 auto_increment是自增量,一般是修饰int型,效率主要体现在一下几个方面

1一般该列会作为索引,在innodb中,非聚簇索引是建立在聚簇索引上的,有主键就主键是聚簇索引,否i则隐藏一个唯一的列作为聚簇索引,在非聚簇索引中不是包含行指针而是会包含主键,或没有主键时会包含唯一的那个隐藏列来一起存储,这样以对主键的长度有一定的要求,越短会对索引存储空间的消耗越少,同时索引查询也会快一点。

2在数据插入时,如果是自增的,那么可以保证后面插入的数据在页内是接在前一个记录后面的,这样不会因为聚簇索引的物理顺序而引起排序,否则可能导致后面的记录比已经插入的记录跟靠前,导致页内记录向后移动

3因为innodb缓存的是数据和索引,索引减小,对缓存空间的消耗也有一定贡献