Встречается на собеседованиях • сегодня
Как использовать план запроса для улучшения производительности
План запроса (execution plan) в SQL помогает понять, как СУБД выполняет запрос. В Python можно использовать EXPLAIN или EXPLAIN ANALYZE для анализа:
python
import sqlite3
conn = sqlite3.connect("example.db")
cursor = conn.cursor()
# Получаем план запроса
cursor.execute("EXPLAIN QUERY PLAN SELECT * FROM users WHERE age > 30")
plan = cursor.fetchall()
print("Query plan:", plan)
Анализируем и оптимизируем:
1. Добавляем индексы для часто фильтруемых полей
cursor.execute("CREATE INDEX IF NOT EXISTS idx_age ON users(age)")
2. Переписываем запрос для использования индексов
cursor.execute("EXPLAIN QUERY PLAN SELECT id, name FROM users WHERE age > 30")
text
Ключевые моменты оптимизации:
- Следите за операциями `SCAN TABLE` (полное сканирование) - заменяйте на `SEARCH TABLE` с индексами
- Избегайте временных таблиц (`USING TEMP B-TREE`)
- Оптимизируйте JOIN'ы, чтобы они использовали индексы
- Ограничивайте выборку (`LIMIT`) и выбирайте только нужные поля
Для сложных запросов используйте `EXPLAIN ANALYZE` для получения реального времени выполнения.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы