我正在使用mysql慢查询日志和SHOW PROCESSLIST;
来调试一些慢查询。
MySQL允许使用标准的/* ... */
语法添加注释。我希望通过在查询前添加注释,可以更轻松地发现某些查询的来源。例如,很多时候在慢日志中我只看到commit
所以我知道事务很慢,但我发现很难确定有关查询来源的更多详细信息。
为了测试这个技巧,我正在使用:
SELECT /* GREP-HOOK */ SLEEP(3);
我希望"GREP-HOOK"评论会出现在SHOW [FULL] PROCESSLIST
和log/slow-log
文件中。然而,事实并非如此。
有人知道是否有允许评论以SHOW PROCESSLIST
显示的my.cnf
设置?
供参考:
> mysqld --version
mysqld Ver 5.5.34-0ubuntu0.13.10.1-log for debian-linux-gnu on x86_64 ((Ubuntu))
(但我也想在 Amazon RDS 5.5 中尝试一下)。
我正在使用mysql命令行客户端进行测试。事实证明,命令行客户端在发送到服务器之前会去除注释(这可能是一个错误)。
当我使用 PHP 脚本进行测试时,注释保留得很好,并按照我想要的方式出现在慢日志中。
作为参考,我的 mysql 客户端版本是:
> mysql --version
mysql Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (x86_64) using readline 6.2
如果您使用的是mysql客户端,则可以使用--comments, -c
选项调用它,以便它"保留发送到服务器的注释"(请参阅man mysql
)