mysql(包括所有5.*系列,5.1.21之前)的慢查询日志默认是以秒为单位的,可以通过set [session|global] long_query_time=1这个最低也就是可以设置到1秒,对于0.5,0.005之类就无能为力了,这时候可以有microslow patch(msl patch)补丁来完成这一工作,这个功能的好处自然不言而喻.
 
在mysql5.1.21及以后版本可以通过 set [session|global] long_query_time=0.01等来设置记录0.01秒以上的sql语句.
 
在 5.1.6之后系列产品中还有--log-output=[FILE|TABLE|NONE]特性,这个是选择 general_log和slow_log的存储方式,文件,数据表,还是不记录,5.1.6-5.1.20默认是数据表(mysql.slow_log 表),其余默认是文件.
 
--log-queries-not-using-indexes也是5.1的新选项,可以没有使 用index的sql语句记录到慢查询日志中
 
--log-slow-admin-statements该命 令选项可以将OPTIMIZE TABLE, ANALYZE TABLE, 以及ALTER TABLE 等管理操作写道慢查询日志中.
 
在5.0系列产品可以通过安装 microslow patch(msl patch)来改进慢查询日志.
 
这些选项可以加在启动命令上也可 以记录在my.cnf里面
 
至于查看日志,可以直接查看也可以使用工具,对于比较多的日志还是日志方便些.常 见的工具有mysql自带的mysqldumpslow以及第三方工具mysqlsla等.
 
msl patch是通过修改mysql源代码的方式来增强mysql的功能,所以只能是源码安装才可以扩展这个功能,其在www.mysqlperformanceblog.com上 有详细介绍(其实英语很简单,嘿嘿)
下面是几个关于microslow patch的文章

 

msl补丁的下载、安装、配置:http://www.mysqlperformanceblog.com/2008/04/20/updated-msl-microslow-patch-installation-walk-through/