MySQL 监听时间是一个非常重要的工具,它可以跟踪数据库操作的时间和耗时情况。这对于调试和性能优化非常有帮助。
首先要确保 MySQL 实例中启用了慢查询日志。在配置文件中可以设置以下参数:
slow_query_log = 1 slow_query_log_file = /path/to/slow/query.log long_query_time = 1 # 查询时间超过 1 秒的都会被写入慢查询日志
启用慢查询日志之后,需要分析日志来获取时间信息。可以使用命令行工具 mysqldumpslow,这个工具会读取慢查询日志,并以时间排序输出查询语句。以下是一个示例:
$ mysqldumpslow -s t -t 10 /path/to/slow/query.log Count: 4 Time=1.38s (5s) Lock=0.00s (0s) Rows=10.0 (40), root[root] @ localhost SELECT * FROM users WHERE id = 1234 Count: 1 Time=0.84s (0s) Lock=0.00s (0s) Rows=0.0 (0), root[root] @ localhost SELECT * FROM orders WHERE user_id = 1234 ...
可以根据上面的输出来进行优化,比如缓存一些常用的查询结果,或者优化表结构索引。
除了慢查询日志外,还可以使用 Performance Schema 来监视数据库活动。下面是一个示例,输出当前活动的线程:
SELECT * FROM performance_schema.threads WHERE PROCESSLIST_ID IS NOT NULL;
在 Performance Schema 中还有很多有用的表和视图,可以记录更详细的事件和统计信息。具体可以参考 MySQL 官方文档。
上一篇 mysql监听本地端口
下一篇 mysql监听拦截