2011-03-01 71 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