谈谈MySQL数据库主键是用数字还是UUID

谈谈MySQL数据库主键是用数字还是UUID

1. 什么是UUID

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准。
其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
在数据库集群中,为了避免每个MySQL各自生成的主键产生重复,所以有人考虑采用UUID方式。

2. 使用UUID的好处

使用UUID,分布式生成主键,降低了全局节点的压力,使得主键生成速度更快
使用UUID生成的主键值全局唯一
跨服务器合并数据很方便

3.UUID的缺点

UUID占用16个字节,比4字节的INT类型和8字节的BIGINT类型更加占用存储空间
UUID是字符串类型,查询速度很慢
UUID不是顺序增长,作为主键,数据写入IO随机性很大

4.主键自动增长的优点

INT和BIGINT类型占用存储空间较小
MySQL检索数字类型速度远快过字符串
主键值是自动增长的,所以IO写入连续性较好

  无论什么场合,都不推荐使用UUID作为数据表的主键,而是要利用数据库中间件来生成全局主键,后续我会为大家带来如何利用数据库中间来实现主键全局自增

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值