繁体   English   中英

如何记录在db上运行的每个查询的查询及其执行时间?

[英]How to log query and its execution time of each query which runs on a db?

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

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

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

我怎么能完成它?

使用mysql慢查询日志 这将帮助您仅获取缓慢而不是记录/分析所有查询的查询。 您只需要为long_query_time设置param,例如1或2秒。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM