ブラウザ内ツール

UUID / ULID生成

UUID v4(完全ランダム)と、UUID v7・ULID(先頭が生成時刻でソート可能)を生成します。crypto.getRandomValues を使い、すべてブラウザ内で生成します。

UUID v4 — 完全ランダム(最も一般的)

UUID v7 — 先頭48bitが時刻

ULID — 時刻+乱数・26文字

v4 は完全ランダムで衝突しにくい反面、生成順の情報を持たないためDBのインデックスでは挿入位置が飛び散り断片化しやすい。v7・ULID は先頭が生成時刻なので文字列順=時刻順にソートでき、主キーにするとB木への追記が末尾に寄って有利。すべてブラウザ内で生成(送信なし)。

主キーに何を選ぶか

  • v4はランダム:推測されにくいが、B木インデックスへの挿入位置が飛び散りページ分割・断片化を招く。
  • v7・ULIDは時刻先頭:文字列順=生成時刻順。挿入が末尾に寄り、範囲検索やページングにも有利。
  • 連番(AUTO_INCREMENT)は最速だが件数が漏れる。分散生成が要るならv7/ULIDが折衷案。