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

Tec*_*hie 6 mysql sql logging triggers crud

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

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

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

我怎么能完成它?

kul*_*boj 8

使用mysql慢查询日志.这将帮助您仅获取缓慢而不是记录/分析所有查询的查询.你只需要设置long_query_time1或2秒的参数.


Pav*_*rin 6

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