分表怎么选择主键
作者:互联网
UUID 与 自增主键
1. 数据库的主键选择
1. UUID
优点:
- 数据拆分、合并存储时可达到全局唯一性
- 应用层生成时,提高数据库吞吐能力
缺点:
- 影响拆入速度,磁盘使用率低,会产生随机IO
- UUID 相对 数字比较大小较慢
- UUID 占空间大
- 读取数据无规律,需要使用 order by
2. 自增ID
优点:
- 相比较 UUID ,自增ID长度小
- 新增的数据永远在后面,对于性能提升较大,对于检索有利
缺点:
-
容易泄露业务量
-
高并发的情况下,竞争自增锁会降低数据库的吞吐能力
-
数据迁移的时候,特别是发生表格合并这种操作的时候比较麻烦
2. 不推荐使用 UUID 作为主键?
在 MySQL 中设计表的时候,MySQL 官方推荐不要使用 uuid 或者不连续不重复的雪花 id(long 形且唯一,单机递增),而是推荐连续自增的主键 id,官方的推荐是 auto_increment。
标签:自增,UUID,数据库,id,选择,MySQL,分表,主键 来源: https://www.cnblogs.com/Andrew-Zhou/p/16399193.html