数据库主键一定要自增吗?有哪些场景不建议自增?
而当我们在建表sql里声明了PRIMARY KEY (id)时,mysql的innodb引擎,就会为主键id生成一个主键索引,里面就是通过B+树的形式来维护这套索引。
到这里,我们有两个点是需要关注的:
数据页大小是固定16k
数据页内,以及数据页之间,数据主键id都是从小到大排序的
由于数据页大小固定了是16k,当我们需要插入一条新的数据,数据页会被慢慢放满,当超过16k时,这个数据页就有可能会进行分裂。
针对B+树叶子节点,如果主键是自增的,那它产生的id每次都比前一次要大,所以每次都会将数据加在B+树...