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

«Какие знаешь способы оптимизации запросов в БД» — вопрос из категории Базы данных, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. Индексы – ускоряют поиск по часто используемым полям.
    CREATE INDEX idx_user_email ON users(email);
  1. Оптимизация запросов – избегайте SELECT *, используйте только нужные поля.
    SELECT id, name FROM users WHERE active = true;
  1. JOIN вместо подзапросов – JOIN обычно эффективнее вложенных запросов.

  2. Кэширование – сохраняйте результаты частых запросов (Redis, Memcached).

  3. Партиционирование – разделение больших таблиц на части по ключу (например, по дате).

  4. Оптимизация структуры БД – нормализация/денормализация в зависимости от сценариев.

  5. Batch-запросы – группировка нескольких операций в один запрос.

  6. Использование EXPLAIN – анализ плана выполнения запроса для выявления узких мест.

  7. Лимиты и пагинация – не загружайте все данные сразу.

    SELECT * FROM orders LIMIT 10 OFFSET 20;
  1. Репликация – чтение с реплик для снижения нагрузки на мастер.