SQLiteでUUID主キーを使うと12倍遅くなる ── 1億行の実証実験で判明した隠れた落とし穴
概要
Anders Murphyが「The perils of UUID primary keys in SQLite」と題した記事で、SQLiteにおけるUUID4主キーが整数主キーと比較して12倍以上遅いという衝撃的な実験結果を公表した。1億行のデータ挿入テストで判明したこの性能差は、多くの開発者が見落としがちな落とし穴として警鐘を鳴らしている。
詳細
- UUID4はランダム生成のため、SQLiteのB-Treeインデックスにランダムな挿入位置が発生しパフォーマンスが劣化
- 整数主キー(AUTOINCREMENT)は連続挿入のためB-Treeが効率的に機能し高速
- 解決策として順序付きUUID(UUIDv7など)の使用を推奨
- 1億行という大規模テストで12倍以上の差が実証された
参照
- 出典URL: https://techfeed.io/entries/6a25dbba448e384852d76345
- はてなブックマーク: 複数ブックマーク(はてなホットエントリー掲載)