我有一个包含超过250个表的庞大数据库。在数据库上运行不同类型的查询。由于数据库已经发展多年,现在我需要优化数据库和查询。我已经遵循了索引等优化概念。
我的问题是,如何记录查询及其在数据库上运行的每个查询的执行时间?所以我可以分析哪个查询需要多少秒并优化它们。
鉴于我知道MYSQL Trigger对此非常理想,但我不知道如何为整个数据库编写触发器,因此它将每个查询记录到具有查询执行时间的表中。我希望触发器记录数据库中发生的所有CRUD操作。
我怎样才能完成它?
答案 0 :(得分:7)
使用mysql slow query log。这将帮助您仅获取缓慢而不是记录/分析所有查询的查询。您只需要设置long_query_time
的参数,例如1或2秒。
答案 1 :(得分:1)
还可以设置long_query_time = 0
,您将看到所有sql查询!