Sobes.tech
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 или аналог.