
🔑 UUIDv4 тихо убивает твою базуUUID удобен: генерируешь на бэке, ключи уникальны, и никто не подсмотрит число заказов, поменяв цифру в URL. Кажется, идеальный Primary Key.Но обычный UUIDv4 — полностью случайный. А базе это очень не нравится.⚙️ Почему такИндексы живут в B-Tree, а дереву нужен порядок.🔹 BigInt с автоинкрементом → новая запись дописывается в конец. Мгновенно.🔹UUIDv4 → случайный ID лезет в середину дерева. База рвёт заполненную страницу пополам и перетасовывает данные. Это и есть Page Split.📉 Что происходит в продакшенеПока строк пара сотен тысяч — тишина. На миллионах начинается боль:🔹 тормозят INSERT — CPU занят не записью, а перебалансировкой🔹 фрагментация — страницы полупустые, индекс пухнет в разы🔹 вымывание кэша — раздутый индекс не лезет в RAM, и база уходит на диск🚀 Решение — UUIDv7Отказываться от UUID не нужно. Просто бери седьмую версию.В начале строки — timestamp (время до миллисекунды), и только потом случайные биты.🔹 Ключи всегда растут🔹 Для базы это почти автоинкремент🔹Записи ложатся в конец, фрагментация исчезаетСкорость вставок остаётся ровной даже на таблицах в десятки гигабайт.💡 Стартуешь проект? Закладывай UUIDv7 сразу.










