深圳找做网站,龙华网站制作,做网站需要写那些xmind,提供常州网站推广为什么MySQL推荐使用自增主键#xff1f; 主键数据记录本身被存于主索引#xff08;一棵BTree#xff09;的叶子节点上#xff0c;这就要求同一个叶子节点内#xff08;大小为一个内存页或磁盘页#xff09;的各条数据记录按主键顺序存放#xff0c;因此每当有一条新的记… 为什么MySQL推荐使用自增主键 主键数据记录本身被存于主索引一棵BTree的叶子节点上这就要求同一个叶子节点内大小为一个内存页或磁盘页的各条数据记录按主键顺序存放因此每当有一条新的记录插入时MySQL会根据其主键将其插入适当的节点和位置如果页面达到装载因子InnoDB默认为15/16则开辟一个新的页节点如果表使用自增主键那么每次插入新的记录记录就会顺序添加到当前索引节点的后续位置当一页写满就会自动开辟一个新的页 而如果使用非自增主键由于每次插入主键的值近似于随机因此每次新记录都要被插到现有索引页的中间某个位置此时MySQL不得不为了将新记录插到合适位置而移动数据甚至目标页面可能已经被回写到磁盘上而从缓存中清掉此时又要从磁盘上读回来这增加了很多开销同时频繁的移动、分页操作造成了大量的碎片得到了不够紧凑的索引结构后续不得不通过OPTIMIZE TABLE来重建表并优化填充页面 https://zhhll.icu/2021/数据库/关系型数据库/MySQL/进阶/16.MySQL使用自增主键的原因/ 本文由 mdnice 多平台发布