Ответ
- Индексы – ускоряют поиск по часто используемым полям.
CREATE INDEX idx_user_email ON users(email);
- Оптимизация запросов – избегайте
SELECT *, используйте только нужные поля.
SELECT id, name FROM users WHERE active = true;
-
JOIN вместо подзапросов – JOIN обычно эффективнее вложенных запросов.
-
Кэширование – сохраняйте результаты частых запросов (Redis, Memcached).
-
Партиционирование – разделение больших таблиц на части по ключу (например, по дате).
-
Оптимизация структуры БД – нормализация/денормализация в зависимости от сценариев.
-
Batch-запросы – группировка нескольких операций в один запрос.
-
Использование EXPLAIN – анализ плана выполнения запроса для выявления узких мест.
-
Лимиты и пагинация – не загружайте все данные сразу.
SELECT * FROM orders LIMIT 10 OFFSET 20;
- Репликация – чтение с реплик для снижения нагрузки на мастер.