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

Как использовать план запроса для улучшения производительности

План запроса (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` для получения реального времени выполнения.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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