Партиционированные таблицы
Возможность СУБД: логически одна таблица, физически разбитая на несколько партиций по ключу партиционирования. Применение: большие таблицы (10 млн строк и больше), временные ряды, шардирование мультитенантных данных. Декларативное партиционирование в PostgreSQL — с версии 10 (2017), в MySQL — с 5.1.
Стратегии: RANGE (по датам или числовым диапазонам), LIST (по конкретным значениям), HASH (для равномерного распределения). Выигрыш — отсечение партиций: запрос с условием по ключу просматривает только подходящие партиции. Обслуживание: удалить старую партицию — мгновенно, O(1), тогда как DELETE — O(N). Цена: сложнее планировщик, внешние ключи между партициями затруднены, поддержка в ORM разная. Postgres 11+ добавил поддержку внешних ключей и индексов. Классический пример: таблицы логов по месяцам — данные старше 12 месяцев исчезают одним махом.