簡體   English   中英

正確選擇 UUID 作為主鍵的數據類型

[英]Right choice of data type for UUID as primary key

先決條件是

  1. 表將有數十億的數據
  2. 表將有二級索引
  3. 表的主鍵將是另一個表的外鍵。
  4. 表將有大量數據(另一列可能是文本)。

主鍵必須是唯一的,因為我的數據庫是通過機器復制的,這就是我選擇 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM