Как посмотреть план и время выполнения запроса в SQL

Python Junior Без компании
Как посмотреть план и время выполнения запроса в SQL
Ответы
Для анализа плана и времени выполнения SQL-запроса в Python можно использовать `EXPLAIN` и `EXPLAIN ANALYZE` (PostgreSQL) или аналогичные команды в других СУБД. Пример с `psycopg2`: ``` import psycopg2 conn = psycopg2.connect("dbname=test user=postgres") cursor = conn.cursor() # Получить план выполнения без выполнения запроса cursor.execute("EXPLAIN SELECT * FROM users WHERE age > 30") print("Execution plan:") for row in cursor: print(row[0]) # Получить фактический план с временем выполнения cursor.execute("EXPLAIN ANALYZE SELECT * FROM users WHERE age > 30") print("\nExecution plan with timing:") for row in cursor: print(row[0]) conn.close() ``` Для других СУБД: - MySQL: `EXPLAIN FORMAT=JSON SELECT...` - SQLite: `EXPLAIN QUERY PLAN SELECT...` - SQL Server: `SET SHOWPLAN_TEXT ON` перед запросом Вывод показывает последовательность операций, их стоимость и время выполнения, что помогает оптимизировать запросы.