Встречается на собеседованиях • сегодня

Как можно оптимизировать SQL запрос

  1. Используй индексы – создавай индексы на часто используемые колонки в WHERE, JOIN, ORDER BY.

    sql
    CREATE INDEX idx_name ON Users(FirstName);
  2. **Избегай SELECT *** – выбирай только нужные колонки.

    sql
    SELECT Id, FirstName FROM Users WHERE Age > 30;
  1. Оптимизируй JOIN – уменьшай количество строк перед соединением таблиц.

  2. Используй EXISTS вместо IN для подзапросов.

    sql
    SELECT * FROM Orders o WHERE EXISTS (SELECT 1 FROM Customers c WHERE c.Id = o.CustomerId);
  3. Кэшируй результаты – если данные редко меняются.

  4. Анализируй план выполнения – используй EXPLAIN (или аналог) для выявления узких мест.

  5. Разбивай большие запросы – на несколько меньших, если возможно.

  6. Избегай функций в WHERE – они могут блокировать использование индексов.

    sql
    -- Плохо: WHERE YEAR(CreatedDate) = 2023
    -- Лучше: WHERE CreatedDate >= '2023-01-01' AND CreatedDate < '2024-01-01'
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы