Зачем нужно артиционирование в БД
Python
Middle
Без компании
Зачем нужно артиционирование в БД
Ответы
Партиционирование в БД позволяет разделить таблицу на логические части (партиции) для:
- **Ускорения запросов** – СУБД сканирует только нужные партиции (например, по датам).
- **Упрощения управления** – Можно удалять/архивировать старые данные целыми партициями.
- **Распределения нагрузки** – Разные партиции можно хранить на разных дисках.
**Пример (PostgreSQL):**
```
-- Создание партиционированной таблицы по датам
CREATE TABLE logs (
id SERIAL,
log_date DATE,
message TEXT
) PARTITION BY RANGE (log_date);
-- Партиции для каждого месяца
CREATE TABLE logs_2023_01 PARTITION OF logs
FOR VALUES FROM ('2023-01-01') TO ('2023-02-01');
```
**Когда использовать:**
- Большие таблицы (гигабайты+).
- Частые запросы по ключу партиционирования (например, `WHERE log_date BETWEEN ...`).
- Необходимость быстрой очистки старых данных.
**Минусы:**
- Усложнение схемы БД.
- Ограничения на уникальные индексы (должны включать ключ партиционирования).