数据库自增长Id的优缺点?

759 阅读1分钟

优点:

  1. 自增,趋势自增,可作为聚集索引,提升查询效率
  2. 节省磁盘空间。500W数据,UUID5.4G,自增ID2.5G.
  3. 查询,写入效率高:查询略优。写入效率自增IDUUID的四倍。

缺点:

  1. 导入旧数据时,可能会ID重复,导致导入失败。
  2. 分布式架构,多个Mysql实例可能会导致ID重复。

总结:

  1. 单实例,单节点,由于InnoDB的特性,自增ID效率大于**UUID.
  2. 20个节点一下小型分布式架构:为了实现快速部署,主键不重复,可以采用UUID
  3. 20200个节点:可以采用自增ID+**步长的较快速方案。
  4. 200个以上节点的分布式架构:可以采用twitter的雪花算法全局自增ID