Встречается на собеседованиях • сегодня
Какие шаги предпримешь, если SQL-запрос долго выполняется
Оптимизация SQL-запроса:
- Анализ запроса через
EXPLAIN ANALYZEдля выявления узких мест (например, отсутствие индексов). - Добавление индексов на часто используемые поля в условиях
WHERE,JOIN. - Оптимизация структуры запроса — избегать
SELECT *, использоватьLIMIT, переписать сложные подзапросы какJOIN.
Пример с индексом:
python
# До оптимизации
cursor.execute("SELECT * FROM users WHERE age > 30") # Медленно без индекса
# Добавляем индекс (SQL-команда)
cursor.execute("CREATE INDEX idx_age ON users(age)")
# После оптимизации
cursor.execute("SELECT id, name FROM users WHERE age > 30 LIMIT 100") # БыстрееДоп. меры:
- Кэширование результатов (Redis, Memcached).
- Разбивка больших запросов на пагинацию (
OFFSET,LIMIT). - Проверка нагрузки на БД и масштабирование (репликация, шардинг).
Если проблема не решается — переход к профилированию сервера БД.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы