page contents

主键为什么不推荐有业务含义?

轩辕小不懂 发布于 2021-06-10 14:43
阅读 768
收藏 0
分类:数据库

最佳答案 2021-06-10 14:51

1006
Pack
Pack

最好是主键是无意义的自增ID,然后另外创建一个业务主键ID,

因为任何有业务含义的列都有改变的可能性,主键一旦带上了业务含义,那么主键就有可能发生变更。主键一旦发生变更,该数据在磁盘上的存储位置就会发生变更,有可能会引发页分裂,产生空间碎片。

还有就是,带有业务含义的主键,不一定是顺序自增的。那么就会导致数据的插入顺序,并不能保证后面插入数据的主键一定比前面的数据大。如果出现了,后面插入数据的主键比前面的小,就有可能引发页分裂,产生空间碎片。

请先 登录 后评论