为什么不建议用uuid作为主键

1个回答
展开全部
咨询记录 · 回答于2023-04-16
为什么不建议用uuid作为主键
亲你好!很高兴UUID(通用唯一标识符)是一种生成唯一标识符的方法,它基于时间戳、计算机地址和随机数等信息生成一个128位的标识符,可以保证在不同计算机和网络环境下的唯一性。虽然UUID是一个很好的唯一标识符生成方法,但不建议将其作为主键,原因如下:1. 长度过长:UUID是一个128位的字符串,长度过长,导致在使用索引时会占用大量的存储空间,增加存储成本。而且在数据库的查询和排序中也会降低效率。2. 不容易读懂:UUID是一个由数字和字母组成的字符串,不容易被人类读懂,不利于直接进行数据分析和检查。3. 被人为改变的可能性:虽然UUID是通过特定算法随机生成的,但是并不能保证绝对随机性,并且UUID是公开的,不保密,如果被人为改变导致主键不唯一就会对数据造成灾难性的影响。4. 造成索引分裂:使用UUID作为主键会导致数据库索引分裂,这是因为UUID是随机分布的,分散地存储在磁盘中,索引也各自独立,存取速度变慢、效率下降。因此,建议将自增长递增数字或时间戳等简单且唯一的值作为主键,可以降低存储成本,便于数据管理与分析。同时,可以通过使用其他唯一约束来保证数据的唯一性。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消