我很惊讶我在网站上的任何地方都没有找到答案,也没有在MySQL文档中找到答案(5.2节似乎已经很好地记录了日志!)
如果启用binlog,我会发现(主观地)性能受到较小的影响,这会带来一些额外的IO,但是,当我启用常规查询日志时,就会看到巨大的性能影响(运行查询的时间增加了一倍,甚至更糟),远远超过了我在二进制日志中看到的内容。当然,我现在正在记录每个SELECT以及每个UPDATE / INSERT,但是其他守护程序会记录其每个请求(Apache,Exim),而不会停顿。
在IO方面,我只是刚刚看到接近性能“临界点”的影响,还是在日志记录查询中从根本上造成某种困难呢?我希望能够记录所有查询以简化开发,但是我无法证明那种感觉是我们需要通过常规查询登录来恢复性能的硬件。
我确实会记录慢速查询,并且如果禁用此功能,则一般用法的改进可以忽略不计。
(所有这些都是在Ubuntu 10.04 LTS,MySQLd 5.1.49上进行的,但研究表明这是一个相当普遍的问题)