UUIDv4 убивает индекс в Postgres — почему и как спасает UUIDv7

12+
12+

час назад

ПожаловатьсяНарушение авторских прав
12+
12+

час назад

ПожаловатьсяНарушение авторских прав
12+
12+

час назад

UUIDv4 в роли первичного ключа незаметно ломает B-tree индекс в PostgreSQL: случайные значения разбрасываются по всему дереву, вставки замедляются, а индекс раздувается. Разбираем, почему так и как UUIDv7 это чинит одной строкой. Если ты выбираешь между UUID и bigserial для первичного ключа — это видео сэкономит тебе часы дебага медленных вставок и распухшего индекса. Что внутри: — как устроен B-tree индекс и почему bigserial ложится в него идеально — как именно UUIDv4 фрагментирует страницы индекса (page split) — бенчмарк: время вставки и размер индекса UUIDv4 vs bigserial на 10M строк — чем UUIDv7 отличается от UUIDv4 (упорядоченность по времени) — как включить UUIDv7 в Postgres Главы: 0:00 UUID ломает индекс — в чём проблема 0:17 Что такое B-tree индекс 0:27 Почему bigserial идеален для индекса 0:47 Как UUIDv4 фрагментирует индекс 1:09 Цена случайности: бенчмарк вставок и размера 1:30 Решение — UUIDv7 1:40 Анатомия UUIDv7 1:51 UUIDv7 ≈ bigserial по скорости 2:02 Как включить UUIDv7 в PostgreSQL 2:19 Итог SQL и PostgreSQL для разработчиков → sql-academy.org #postgresql #uuid #базыданных

Название:

UUIDv4 убивает индекс в Postgres — почему и как спасает UUIDv7

Категория:

Разное