gpt4 book ai didi

mysql - 如何在 MySQL 中记录查询响应时间?

转载 作者:行者123 更新时间:2023-11-29 01:16:06 29 4
gpt4 key购买 nike

我知道您可以在 MySQL 服务器中记录所有执行的查询。有什么方法可以记录他们的响应时间(MySQl 服务器执行查询所用的时间)?我想定期检查 MySQL 服务器中每个数据库的所有响应时间。例如:

SELECT response_time FROM rt_log_table where db_name = 'dbName'; 

附言我无法在客户端应用程序中插入代码。如果有可以帮助我的工具,我可以附加到客户端。

非常感谢,

最佳答案

您可以使用 mysql 性能方案来做到这一点(以及更多),请参阅 Query Profiling Using Performance Schema关于如何配置它。

性能方案通常默认启用,但您必须启用查询历史记录所有查询。启用后,您可以通过例如获取查询持续时间

mysql> SELECT EVENT_ID, TRUNCATE(TIMER_WAIT/1000000000000,6) as Duration, SQL_TEXT 
-> FROM performance_schema.events_statements_history_long WHERE SQL_TEXT like '%10001%';
+----------+----------+--------------------------------------------------------+
| event_id | duration | sql_text |
+----------+----------+--------------------------------------------------------+
| 31 | 0.028310 | SELECT * FROM employees.employees WHERE emp_no = 10001 |
+----------+----------+--------------------------------------------------------+

日志的大小有限,因此如果要保留数据,您可能必须定期查询并将该数据保存到另一个表中。日志记录通常对性能没有太大影响,但您仍然可能只想启用您需要的内容。

关于mysql - 如何在 MySQL 中记录查询响应时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394812/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com