python - 如何获取 SQL 查询的数量?

标签 python mysql sql sqlalchemy

我有一个 sqlalchemy 应用程序。某些操作会导致发出许多 SQL 查询。有没有办法从 sqlalchemy 获取 session 期间进行了多少 SQL 查询的信息?

我想将其与有关该操作的其他信息一起记录下来,以便稍后可以查看日志并查找进行了太多查询的操作。

最佳答案

SQLAlchemy 使用 logging 模块记录所有查询,但您需要配置日志记录设置以将日志记录级别提高到 logging.INFO 才能查看查询:

import logging

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

请参阅Configuring Logging文档,以及 logging module documentation 。完全可以将所有 sqlalchemy.engine 输出重定向到单独的目标,例如,分析哪些查询运行得更频繁。

关于python - 如何获取 SQL 查询的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281505/

相关文章:

mysql - UPSERT 与 mySql 和 postgreSQL 兼容

php - 带有 WHERE 子句的 MySQL 语法错误

sql - 如何在 SQL Server 中多次检索行?

python - 如何从全屏(!)VPython 窗口捕获屏幕?

Python Redis 队列 (rq) - 如何避免为每个作业预加载 ML 模型?

mysql - 如何通过ssh发送sql语句到远程服务器

MySQL查询获取连接表结果

Python 的 ProcessPoolExecutor 以相反的顺序给出 print 和 return 语句的输出

python - 如何为 Google App Engine 应用程序编写 `app.yaml` 文件?

mysql - 如何创建与 Rails 中的 View 相对应的模型