Table partitioning (разбиение таблиц) — это стратегия разделения больших таблиц на меньшие, более управляемые части для улучшения производительности запросов и поддерживаемости.
Горизонтальное партиционирование делит таблицу по строкам, где каждый раздел содержит подмножество записей на основе значения столбца.
Пример: таблица orders, разделённая по годам:
orders_2022 → rows where order_year = 2022
orders_2023 → rows where order_year = 2023
orders_2024 → rows where order_year = 2024
Когда использовать:
Вертикальное партиционирование делит таблицу по столбцам, где каждый раздел содержит подмножество столбцов, все использующих один и тот же первичный ключ.
Пример: таблица users, разделённая на два раздела:
users_core → user_id, name, email
users_profile → user_id, bio, avatar, preferences
Когда использовать:
BLOB или больших TEXT столбцов, которые замедляют обычные запросы| Горизонтальное | Вертикальное | |
|---|---|---|
| Разбиение по | Строкам | Столбцам |
| Ключ раздела | Значение столбца | Группа столбцов |
| Общий ключ | Не требуется | Требуется |
Используй горизонтальное партиционирование, когда твоя таблица растёт за счёт добавления большого количества строк со временем. Используй вертикальное партиционирование, когда в твоей таблице есть столбцы со значительно отличающимися паттернами доступа или размерами.
Горизонтальное партиционирование разделяет таблицу по строкам на основе значений столбцов, что идеально подходит для управления большими наборами данных, которые растут со временем, и для отдельного архивирования исторических данных от недавних.
Новый — ещё не проверен сообществом
Вы