Mysql
UserID 的最佳標識符是什麼?64 位整數、UUID V5 還是 64 字元 SHA256 UID?
我希望將來證明我的應用程序。最好使用的標識符類型是什麼?
我正在考慮:
- 64 位整數
- UUID
- 64 個字元的 SHA256
我不是在開發分佈式系統,所以有必要使用 UUID 嗎?
INTEGER
另外,聯接與聯接有多好VARCHAR
?最後,將使用者名(唯一)和消息數據儲存在同一個 MySQL 表中是否比儲存使用者 ID 更好?
使用整數。這是最簡單和最有效的方式(尤其是對於 InnoDB)。
那是
- 不要使用雜湊或 UUID 或 varchars 代替 int
- 當你有外鍵時不要使用自然鍵
原因?
- varchar 比較需要整理 + 案例測試
- InnoDB 中的索引架構偏愛整數欄位(理想的聚集索引是窄的、數字的、單調遞增的)
- 雜湊和 GUID 和 varchar 導致碎片
- 不使用整數時更寬的數據 + 索引行
- 64 個字元需要 64/66 個字節來儲存。64 位輸入需要 8 個字節
其他觀察:
- 你需要64位數字嗎?