我目前正在尝试调整单个数据库(实际上是一组类似的数据库)的性能,但是慢查询日志中有一堆我目前不感兴趣的其他数据库的数据。我已经能够找到一些慢日志过滤脚本,但实际上似乎没有根据数据库名称进行过滤。
查看日志文件(对于 5.0.18),数据库名称似乎出现在每个查询块中,因此执行此过滤应该是一个相当简单的编程问题(这就是我要做的事情),但是如果这么简单,为什么没有人(我能找到)已经做到了呢?
例如:
# Time: 090226 11:17:04
# User@Host: user1[user1] @ host [10.0.0.3]
# Query_time: 12 Lock_time: 0 Rows_sent: 2 Rows_examined: 4042564
use [db1];
SELECT ...
# Time: 090226 11:17:34
# User@Host: user1[user1] @ host [10.0.0.3]
# Query_time: 12 Lock_time: 0 Rows_sent: 0 Rows_examined: 4042560
SELECT ...
# Time: 090226 12:32:40
# User@Host: user2[user2] @ host [10.0.0.3]
# Query_time: 8 Lock_time: 0 Rows_sent: 123390 Rows_examined: 812841
use [db2];
SELECT ...
前两个查询都针对同一个数据库,因此单个use
语句涵盖了它们。