Партиционирование базы данных — это процесс разделения большой таблицы и её индексов на меньшие, более управляемые физические сегменты, называемые партициями, при этом таблица остаётся логически единой — приложения взаимодействуют с ней как с одной таблицей.
Основное преимущество в производительности даёт отсечение партиций — когда запрос содержит фильтр по ключу партиции, движок базы данных сканирует только нужные партиции вместо всей таблицы.
Распространённые стратегии партиционирования включают:
Например, таблица продаж, разбитая по годам:
PARTITION BY RANGE (sale_year) (
PARTITION p2022 VALUES LESS THAN (2023),
PARTITION p2023 VALUES LESS THAN (2024)
)
Запрос, фильтрующий по sale_year = 2023, полностью пропустит все остальные партиции.
Партиционирование делает рутинные операции с базой данных значительно более эффективными:
Партиционирование наиболее эффективно на очень больших таблицах, где запросы постоянно фильтруют по ключу партиции, и где управление жизненным циклом данных (например, ротация временных данных) — это регулярное операционное требование.
Partition pruning позволяет движку базы данных пропускать сканирование партиций, которые не соответствуют условиям фильтрации запроса по ключу партиционирования, напрямую улучшая производительность запросов.
Новый — ещё не проверен сообществом
Вы