2014-01-22 4 views
0

У меня есть приложение sqlalchemy. Некоторые операции приводят к выполнению множества SQL-запросов. Есть ли способ получить информацию из sqlalchemy о том, сколько SQL-запросов было сделано во время сеанса?Как получить количество SQL-запросов?

Я хотел бы зарегистрировать это вместе с другой информацией об операции, чтобы позже я смог пройти через журнал и найти операции, в которых слишком много запросов.

ответ

1

SQLAlchemy регистрирует все запросы с logging модуля, но вам необходимо сконфигурировать настройки журналирования для повышения уровня протоколирования logging.INFO, чтобы увидеть запросы:

import logging 

logging.basicConfig() 
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO) 

Смотрите документацию Configuring Logging, а также logging module documentation. Вполне возможно перенаправить весь вывод sqlalchemy.engine в отдельный пункт назначения, например, для анализа того, какие запросы запускаются чаще.

+0

Можно также прослушать событие ['before_cursor_execute'] (http://docs.sqlalchemy.org/en/rel_0_9/core/events.html#sqlalchemy.events.ConnectionEvents.before_cursor_execute) и собрать статистику. Однако я полагаю, что этот «количественный» анализ не был бы полезен сам по себе, и я предпочел бы посмотреть, что именно и в какой момент было выполнено, а затем проанализировал, почему и т. Д. – van

Смежные вопросы