Какие знаешь инструменты оптимизации запросов в БД

Python Senior Мой Офис
Какие знаешь инструменты оптимизации запросов в БД
Ответы
**Индексы** – ускоряют поиск по часто используемым полям. ``` # Пример создания индекса в Django class User(models.Model): username = models.CharField(max_length=100, db_index=True) ``` **Оптимизация JOIN** – минимизация связей, выбор правильного типа JOIN (INNER, LEFT и т.д.). **EXPLAIN** – анализ плана запроса для выявления узких мест. **Кэширование** – Redis/Memcached для частых запросов. **Пагинация** – LIMIT/OFFSET или keyset-пагинация для больших выборок. **Оптимизация ORM** – в Django: `select_related()`, `prefetch_related()`, `only()`, `defer()`. **Денормализация** – дублирование данных для уменьшения JOIN. **Партиционирование** – разделение таблиц по диапазонам или хэшу. **Материализованные представления** – предрасчитанные данные (PostgreSQL). **Batch-запросы** – группировка операций вставки/обновления.