![](/img/trans.png)
[英]What is the performance hit of using a string type vs a uuid type for a UUID primary key?
[英]Right choice of data type for UUID as primary key
先決條件是
- 表將有數十億的數據
- 表將有二級索引
- 表的主鍵將是另一個表的外鍵。
- 表將有大量數據(另一列可能是文本)。
主鍵必須是唯一的,因為我的數據庫是通過機器復制的,這就是我選擇 UUID 的原因。
PS:空間也是一個問題,所以我猜 Varchar(36) 可能是個壞主意
我同意BINARY(16)
。 (16 字節比 37 字節好。)
但是 UUID 對於大表來說效率低得無可救葯。 (我假設您的十億行表不適合 RAM。)
我在http://mysql.rjweb.org/doc.php/uuid 中討論了這些和更多問題
我會選擇 BINARY(16)。 如果你想使用 CHAR,那么 CHAR(32) 就足夠大了,沒有連字符,但 BINARY 更小更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.