🆔
← ガむド䞀芧に戻る

UUID v4 ず UUID v7 — どちらを䜿うべきか

· タグ: uuid-v7, uuid-v4, rfc-9562, database, primary-key

RFC 95622024 幎 5 月で暙準化された UUID v7 は、UUID v4 の䞻な匱点であるデヌタベヌスのむンデックスパフォヌマンスの䜎さを解決したす。

UUID v4ランダム

UUID v4 は 122 ビットのランダムビットず 6 ビットの固定ビットを䜿甚したす。これにより、調敎なしで䞀意性が保蚌されたすが、生成される ID は時間軞䞊にランダムに散らばりたす。UUID v4 をデヌタベヌスの B ツリヌ䞻キヌずしお䜿甚するず、ランダムな ID がペヌゞ分割やむンデックスの断片化を匕き起こし、曞き蟌みパフォヌマンスを䜎䞋させたす。

UUID v7時刻順

UUID v7 は 48 ビットの Unix ミリ秒タむムスタンプにランダムビットを組み合わせたものです。タむムスタンプの接頭蟞により、UUID は䜜成時刻順に自然に䞊べ替え可胜になり、B ツリヌの断片化問題を解決したす。キヌは匕き続きグロヌバルに䞀意であり、調敎なしで生成できたす。

比范

| | UUID v4 | UUID v7 | |---|---------|---------| | 暙準 | RFC 9562 | RFC 9562 | | 䞊べ替え | 䞍可 | 可胜時刻順 | | DB パフォヌマンス | 䜎い | 良奜 | | 䞀意 | はい | はい | | タむムスタンプの挏えい | なし | ありミリ秒粟床 |

掚奚: デヌタベヌスの䞻キヌには UUID v7 を、䜜成時刻を明かしたくない堎合には UUID v4 を䜿甚しおください。䞡方を圓サむトのUUID ゞェネレヌタヌで詊せたす。

UUID v4 ず UUID v7 — どちらを䜿うべきか - CoolTool