2011-03-01 57 views

回答

4

您可以独立生成它们的主要专业人员。 Con是它更大。

8

UUID是全局唯一的,并且可以在群集DB服务器之间没有通信的情况下并行生成。所以"Object IDs are more synergistic with sharding and distribution."。 UUID通常以128位存储。

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

10

Andrey和Mjg都有很好的观点,但我会添加一个相关的性能问题,这个问题很重要。

随着数据库和密钥生成的解耦,还允许在对象之间具有复杂关系的应用程序使用键就地创建它们,以便可以进行批量插入。

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

+0

另一方面,我们考虑在应用程序中使用UUID版本2进行问责 - 它包含确切的时间(以微秒为单位)和创建它的机器的MAC地址。 – 2011-05-31 17:48:02