【问题标题】:How to log query and its execution time of each query which runs on a db?如何记录在数据库上运行的每个查询的查询及其执行时间?
【发布时间】:2013-04-16 07:43:22
【问题描述】:

我有一个包含 250 多个表的庞大数据库。在数据库上运行不同类型的查询。由于数据库多年来一直在增长,现在我需要优化数据库和查询。我已经遵循了索引等优化概念。

我的问题是,如何记录在数据库上运行的每个查询的查询及其执行时间?所以我可以分析哪个查询需要多少秒并优化它们。

鉴于我知道 MYSQL 触发器将是理想的,但我不知道如何为整个数据库编写触发器,以便它将每个查询记录到具有查询执行时间的表中。我希望触发器记录数据库中发生的所有 CRUD 操作。

我怎样才能完成它?

【问题讨论】:

标签: mysql sql logging triggers crud


【解决方案1】:

你也可以设置long_query_time = 0,你会看到所有的sql查询!

【讨论】:

    【解决方案2】:

    使用mysql slow query log。这将帮助您仅获取速度较慢的查询,而不是记录/分析所有查询。您只需为long_query_time 设置参数,例如 1 或 2 秒。

    【讨论】:

      猜你喜欢
      • 2014-03-14
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      相关资源
      最近更新 更多