0
A
回答
1
我建議您使用serial
而不是UUID。爲什麼整數優於UUID?
- 它們佔用的空間較小。這在基礎表中是一個邊際考慮因素,但對於外鍵來說是一個更大的問題。
- 整數更容易閱讀和記憶。
在許多數據庫中,表格使用主鍵進行物理排序。在這樣的數據庫中,UUID上的新插入將幾乎總是在「之間」記錄之間,這很昂貴。但是,Postgres不支持聚簇索引,因此底層數據沒有排序。
有不利之處整數:
- 有一個有限的數量,雖然大整數幾乎解決這個問題。
- 它們編碼插入順序信息。其實,這可能是積極的或消極的。
除了空間使用情況,我不認爲在靜態表上使用UUID會有很大的傷害。我強烈喜歡整數,只有在整數很難計算的情況下才會使用UUID。
+0
@a_horse_with_no_name。 。 。謝謝。 –
相關問題
- 1. 作爲MySQL表主鍵處理大型(UUID)的最佳方式
- 2. 使用UUID作爲主鍵的Laravel 4
- 3. Android:使用UUID作爲SQLite的主鍵
- 4. 作爲主鍵不工作的UUID Laravel
- 5. 使用UUID作爲在軌和多晶型關係的主鍵
- 6. 實現作爲主鍵的UUID
- 7. UUID主鍵和Memcached
- 8. 主鍵,UUID,RecordKey表,哦我的
- 9. 將UUID用作數據庫主鍵,Java類型是一個字節[]
- 10. 自定義UUID的主鍵
- 11. 如何使用OrmLite和Postgres將UUID作爲主鍵處理?
- 12. 自定義UUID作爲主鍵
- 13. 使用UUID主鍵的ActiveRecord遷移
- 14. 使用UUID作爲Django模型中的主鍵(通用關係影響)
- 15. 主鍵UUID觸發器
- 16. CakePHP ACL與UUID主鍵
- 17. 主鍵 - 用於UUID主鍵的VARBINARY或BLOB或VARCHAR
- 18. django使用uuid主鍵訪問鏈接的模型
- 19. 將元組作爲主鍵的模型
- 20. Eloquent模型中的UUID主鍵存儲爲uuid,但返回爲0
- 21. 如何使用UUID作爲Hibernate實體的主鍵?
- 22. 使用非主鍵UUID類型字段findBy *方法導致
- 23. PHP的mysql_insert_id()爲MySQL的UUID()主鍵?
- 24. 插件類型鍵值(UUID)
- 25. Tell Django的模型將主鍵用作一組外鍵
- 26. 作爲JPA實體類中的主鍵的UUID的數據類型
- 27. 使用SQL和C#將表1的主鍵作爲表2中的外鍵使用SQL和C#
- 28. 主鍵的SQL數據類型 - SQL Server?
- 29. 使用VBA和ADO創建MDB表,如何自動使用UUID作爲主鍵?
- 30. 對於UUID主鍵使用字符串類型與uuid類型的性能命中是什麼?
你的意思是GUID的?總之,沒有。但是,您可能需要在交易表中反映這一點。你也應該在你的數據庫中保持一致。 PK的身份或GUID,不是混合。如果你有一個很好的GUID的理由 - 即記錄必須是普遍唯一的,那麼通過一切手段使用它。但如果你只是這樣做,以避免正確建模你的數據,那麼這是不好的設計實踐。 –
我不同意這個問題的前提。磁盤空間很便宜,作爲主鍵,UUID應該具有良好的索引和性能。 – ceejayoz
@ Nick.McDermaid UUID和GUID是一回事。 https://en.wikipedia.org/wiki/Universally_unique_identifier – ceejayoz