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

Как в Python можно получить план выполнения SQL-запроса и фактическое время его выполнения

Для получения плана выполнения SQL-запроса в Python можно использовать EXPLAIN или EXPLAIN ANALYZE (PostgreSQL) через стандартные методы выполнения запросов. Для времени выполнения используйте модуль time.

Пример для PostgreSQL с psycopg2:

python
import psycopg2
import time

conn = psycopg2.connect("dbname=test user=postgres")
cursor = conn.cursor()

Получаем план выполнения

cursor.execute("EXPLAIN ANALYZE SELECT * FROM large_table WHERE id = 1234")
plan = cursor.fetchall()
print("\n".join(row[0] for row in plan))

Замеряем время выполнения

start = time.time()
cursor.execute("SELECT * FROM large_table WHERE id = 1234")
results = cursor.fetchall()
duration = time.time() - start
print(f"Query took {duration:.4f} seconds")

conn.close()

text

Для SQLite:
```python
cursor.execute("EXPLAIN QUERY PLAN SELECT * FROM users WHERE age > 30")

Для MySQL используйте EXPLAIN FORMAT=JSON для детального анализа.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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