5分でできる実証実験
違いを明確にするために、MySQLで3つのテーブルを作成してみましょう。従来の自動インクリメント(BIGINT)と、文字列型(string)およびバイナリ型(binary)の2種類のUUIDで、ストレージ効率を比較します。
-- 従来の方法:メモリ消費が最も少ない
CREATE TABLE users_auto (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50)
);
-- 「ナイーブ」な方法:UUIDを文字列として保存(データ増大時に極めて低速)
CREATE TABLE users_uuid_string (
id CHAR(36) PRIMARY KEY,
username VARCHAR(50)
);
-- プロフェッショナルな方法:UUID v7をバイナリ形式で保存
CREATE TABLE users_uuid_v7 (
id BINARY(16) PRIMARY KEY,
username VARCHAR(50)
);

