优点和缺点
自增长 | UUID | |
---|---|---|
优点 | ①很小的数据存储空间②性能最好③容易记忆 | ①独一无二的,出现重复的机会少②跨服务器数据合并非常方便③安全性高 |
缺点 | ①如果存在大量的数据,可能会超出自增长的范围②很难处理分布式存储的数据表,尤其是在合并表的情况下③安全性低,有规律,容易被非法获得数据 | ①存储空间大,会占用更多的磁盘空间②会降低性能③很难记忆 |
一般是如何选择这两个的呢?
-
项目是单击版
- 数据比较大(百万级),用自增长,最好考虑安全性,做安全措施
- 数据量没那么大,对速度和存储要求不高,用UUID
-
项目是分布式
- 首选UIUID,分布式一般对速度和存储要求不高
- 数据量达到千万级别或更高,对速度和存储有要求时,可以使用自增长
UUID的实现方法
- randomly: 基于随机数生成UUID
- time-based:基于时间的UUID
- DCE security:DCE安全的UUID
- name-based:基于名字的UUID,通过计算名字和名字空间的MD5来计算UUID。
雪花算法生成ID
需要注意的是,雪花算法生成的ID不是UUID。
是一种介于自增长和UUID之间的一种主键(存储空间小,速度快,分布式,时间序列)
详情查看链接