UUID与主键的自动增量编号

Tör*_*bor 14 uuid primary-key auto-increment

为什么我应该为实体主键的自动增量编号选择UUID?优缺点都有什么?

Bry*_*gee 11

Andrey和Mjg都有不错的观点,但我会添加一个重要的相关性能问题.

通过数据库和密钥生成的分离,还允许在对象之间具有复杂关系的应用程序使用适当的密钥创建它们,以便可以进行批量插入.

在自动递增的情况下,所有拥有关系的对象(即具有外键的表)必须等待关系的另一侧(即外键来自的表)保存,查询分配的ID ,然后单独更新记录以前的记录.


Mat*_*ard 8

UUID是全局唯一的,可以并行生成,而无需在群集数据库服务器之间进行通信.因此,"对象ID与分片和分发更具协同性." .UUID通常以128位存储.

自动递增的整数更加用户友好(无论如何,更短,更难忘),并自动允许按插入顺序排序.整数通常以32位或64位存储.


And*_*rey 5

主要优点是您可以独立生成它们。缺点是它更大。