Middle — Middle+
101
Kako u Python-u izvući plan izvršenja SQL upita i saznati njegovo stvarno vreme izvršenja?
Одговор од АИ
sobes.tech АИ
В Python для извлечения плана выполнения SQL-запроса и оценки его фактического времени исполнения обычно используют возможности самой СУБД через EXPLAIN или EXPLAIN ANALYZE.
Пример для PostgreSQL с использованием библиотеки psycopg2:
import psycopg2
conn = psycopg2.connect(dbname="yourdb", user="user", password="pass", host="localhost")
cursor = conn.cursor()
query = "SELECT * FROM your_table WHERE condition"
# Получение плана выполнения с анализом (включает время)
cursor.execute(f"EXPLAIN ANALYZE {query}")
plan = cursor.fetchall()
for line in plan:
print(line[0])
cursor.close()
conn.close()
EXPLAIN ANALYZE выполняет запрос и возвращает подробный план с реальным временем выполнения каждого шага.
Для других СУБД синтаксис может отличаться, но идея та же: использовать EXPLAIN с опцией анализа для получения детальной информации о плане и времени.
Если используется ORM (например, Django ORM), можно получить SQL-запрос и выполнить EXPLAIN отдельно через курсор.