解决方案 »

  1.   


    set profiling = 0;do you query show profiles;
      

  2.   

    写错了 set profiling = 1;do you query show profiles;
      

  3.   

    你好,这个是在my.ini文件中配置吗?
      

  4.   

    @benluobobo 刚执行了你的找个语句。可以分析SQL语句Duration耗时。谢谢!想知道能不能实时的跟踪呢?比如是应用程序访问数据库的SQL语句,能实时跟踪到吗?
      

  5.   

    如果是外部访问,需要开启mysql的查询日志,可以记录所有的SQL语句
      

  6.   

    是在my.ini文件中配置是吗?
    我是按这里讲的配置:http://www.2cto.com/database/201401/275802.html
      

  7.   

    1 0.00815075 SHOW STATUS
    2 0.000954 SHOW STATUS
    3 6.175E-5 select * from abc
    这里加粗加色的是科学计数,能直接显示常规计数吗?
      

  8.   


    5.11.2. 通用查询日志
    如果你想要知道mysqld内部发生了什么,你应该用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值, 默认名是host_name.log。所有连接和语句被记录到日志文件。当你怀疑在客户端发生了错误并想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用。
     mysqld按照它接收的顺序记录语句到查询日志。这可能与执行的顺序不同。这与更新日志和二进制日志不同,它们在查询执行后,但是任何一个锁释放之前记录日志。(查询日志还包含所有语句,而二进制日志不包含只查询数据的语句)。 服务器重新启动和日志刷新不会产生新的一般查询日志文件(尽管刷新关闭并重新打开一般查询日志文件)。在Unix中,你可以通过下面的命令重新命名文件并创建一个新文件:
    shell> mv hostname.log hostname-old.log
    shell> mysqladmin flush-logs
    shell> cp hostname-old.log to-backup-directory
    shell> rm hostname-old.log在Windows中,服务器打开日志文件期间你不能重新命名日志文件。你必须先停止服务器然后重新命名日志文件。然后,重启服务器来创建新的日志文件。
      

  9.   

    谢谢版主耐心解答!今天找到一个跟踪SQL慢查询的,把链接贴出来供大家参考
    http://blog.chinaunix.net/uid-20769015-id-3469275.html