Разбейте гигантскую таблицу на меньшие физические дочерние таблицы по ключу партиционирования, чтобы каждый запрос касался только нужных партиций (partition pruning) вместо сканирования миллиардов строк. Таблица с 5 млрд строк заказов всё ещё ведёт себя как одна логическая таблица, но движок пропускает 99% её, когда ваш WHERE фильтрует по ключу партиционирования.
Форма партиционированной таблицы
orders (logical parent)
│ partition key = created_at
┌────────────────┼────────────────┬───────────────┐
▼ ▼ ▼ ▼
orders_2024_q1 orders_2024_q2 orders_2024_q3 orders_2025_q1
(child table) (child table) (child table) (child, active)
│ │
local index local index
(per child) (per child)
