自增主键和UUID

优点和缺点

自增长 UUID
优点 ①很小的数据存储空间②性能最好③容易记忆 ①独一无二的,出现重复的机会少②跨服务器数据合并非常方便③安全性高
缺点 ①如果存在大量的数据,可能会超出自增长的范围②很难处理分布式存储的数据表,尤其是在合并表的情况下③安全性低,有规律,容易被非法获得数据 ①存储空间大,会占用更多的磁盘空间②会降低性能③很难记忆

一般是如何选择这两个的呢?

  1. 项目是单击版

    1. 数据比较大(百万级),用自增长,最好考虑安全性,做安全措施
    2. 数据量没那么大,对速度和存储要求不高,用UUID
  2. 项目是分布式

    1. 首选UIUID,分布式一般对速度和存储要求不高
    2. 数据量达到千万级别或更高,对速度和存储有要求时,可以使用自增长

UUID的实现方法

  • randomly: 基于随机数生成UUID
  • time-based:基于时间的UUID
  • DCE security:DCE安全的UUID
  • name-based:基于名字的UUID,通过计算名字和名字空间的MD5来计算UUID。

雪花算法生成ID

需要注意的是,雪花算法生成的ID不是UUID。

是一种介于自增长和UUID之间的一种主键(存储空间小,速度快,分布式,时间序列)

详情查看链接

原文地址:https://www.cnblogs.com/10134dz/p/13836007.html