Как в Python можно получить план выполнения SQL-запроса и фактическое время его выполнения
Для получения плана выполнения SQL-запроса в Python можно использовать EXPLAIN или EXPLAIN ANALYZE (PostgreSQL) через стандартные методы выполнения запросов. Для времени выполнения используйте модуль time.
Пример для PostgreSQL с psycopg2:
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()
Для SQLite:
```python
cursor.execute("EXPLAIN QUERY PLAN SELECT * FROM users WHERE age > 30")Для MySQL используйте EXPLAIN FORMAT=JSON для детального анализа.

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