在MySQL 中將UUID 作為數位儲存
在MySQL 中將UUID 作為字串儲存可能會導致效能問題,尤其是在涉及索引時。專家建議的另一種方法是將 UUID 儲存為數字以提高效能。讓我們探討如何在 Ruby 中完成此操作。
刪除破折號並轉換為二進位
第一步是從 UUID 移除破折號。例如,像是「110E8400-E29B-11D4-A716-446655440000」這樣的UUID會變成「110E8400E29B11D4A716446655440000」。
由於UUID由128位元組成,我們可以將它們儲存為MySQL 中的 BINARY(16) 資料類型。 MySQL 中的 BINARY 資料類型使用二進位表示,這比字串處理效率更高。
範例SQL 查詢
要將UUID 插入BINARY 字段,請使用下列查詢:
要擷取UUID,請使用下列指令查詢:
Ruby程式碼整合
在 Ruby 中,您可以使用 UUIDtools gem 產生 UUID 並將其轉換為二進位。 gem 提供了 UUID.new 和 UUID.hex_to_bin 等方法。例如:
透過執行以下步驟,您可以在 MySQL 中以二進位數形式高效儲存和檢索 UUID,從而提高使用索引 UUID 時的效能。
以上是為什麼在 MySQL 中將 UUID 儲存為數字以提高效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!