AG UUID

UUID vs 自動採番の整数主キー

データベースの主キーとして UUID と自動採番の整数のどちらを使うかを比較します。

自動採番の整数

短く高速で、インデックスの局所性にも優れています。ただし複数のデータベースを統合するのが難しく、連番から全レコード数が推測でき、アプリケーション側で事前に ID を生成したり分散生成したりするのも困難です。

UUID

分散環境でも衝突なくそれぞれが生成でき、値が推測されにくいのが利点です。一方で 128 ビットと整数より大きく、ランダムな v4 はインデックス上に散らばって挿入されるため、書き込み性能を低下させることがあります。

選択の基準

単一データベースの内部システムなら整数がシンプルで効率的です。分散システムや公開 API、複数ソースの統合が必要なら UUID、特に時系列順にソートされる v7 が有利です。内部用の整数主キーと外部公開用の UUID を併用する折衷案もよく使われます。