AG UUID

Производительность UUID и советы по хранению

Рассматриваем факторы, влияющие на производительность UUID при массовой генерации и хранении в базе данных.

Производительность генерации

Генерация UUID очень быстрая и обычно не является узким местом. И в браузере, и на сервере нативные API вроде crypto.randomUUID() работают быстрее всего и безопаснее всего. Даже создание тысяч значений за раз не создаёт большой нагрузки.

Размер хранения

Если хранить UUID в виде строки (36 символов), он занимает более чем вдвое больше места, чем 16-байтовый двоичный формат. Использование двоичного хранения, такого как тип uuid в PostgreSQL или BINARY(16) в MySQL, повышает эффективность хранения и индексов.

Локальность индекса

Случайный v4 вставляется вразнобой по всему индексу, что может снижать производительность записи. Для таблиц с частыми вставками используйте отсортированный по времени v7 или ULID, чтобы вставка шла последовательно в конец индекса и уменьшалось расщепление страниц.