Back to questions
Junior — Middle
75
Каким образом можно увидеть план выполнения SQL-запроса?
Answer from AI
sobes.tech AI
Чтобы увидеть план выполнения SQL-запроса, обычно используют команду EXPLAIN перед самим запросом. В Python это делается через библиотеку для работы с базой данных (например, psycopg2 для PostgreSQL).
Пример для PostgreSQL:
import psycopg2
conn = psycopg2.connect(dbname="testdb", user="user", password="pass")
cursor = conn.cursor()
query = "SELECT * FROM users WHERE age > 30"
explain_query = "EXPLAIN " + query
cursor.execute(explain_query)
plan = cursor.fetchall()
for row in plan:
print(row[0])
cursor.close()
conn.close()
EXPLAIN покажет, как СУБД планирует выполнить запрос — какие индексы использует, типы соединений и т.д. В некоторых СУБД есть расширенный вариант EXPLAIN ANALYZE, который выполняет запрос и показывает реальные затраты.
Для других СУБД синтаксис может отличаться, но идея та же — использовать EXPLAIN или аналог.