Junior — Middle
86
Kako identifikovati najresursno zahtevne SQL upite u bazi podataka?
Одговор од АИ
sobes.tech АИ
Для выявления наиболее ресурсоемких SQL-запросов в базе данных можно использовать следующие подходы:
- Включить логирование медленных запросов (slow query log) в СУБД, чтобы фиксировать запросы, которые выполняются дольше заданного порога.
- Использовать встроенные инструменты профилирования и мониторинга СУБД, например,
EXPLAINилиEXPLAIN ANALYZEв PostgreSQL, чтобы понять план выполнения и оценить затраты. - В системах типа MySQL можно использовать
SHOW PROCESSLISTили Performance Schema для анализа текущих запросов. - В Python можно интегрировать профилирование запросов через ORM (например, SQLAlchemy) или использовать middleware, который логирует время выполнения запросов.
Пример использования EXPLAIN в PostgreSQL:
EXPLAIN ANALYZE SELECT * FROM orders WHERE customer_id = 123;
Это покажет, сколько времени занимает запрос и какие индексы используются.