美文网首页
【MySQL】11.3性能分析-show profile & 全

【MySQL】11.3性能分析-show profile & 全

作者: bit_拳倾天下 | 来源:发表于2022-07-06 10:52 被阅读0次

    什么是 show profile?

    用来分析当前会话中语句执行的消耗情况。

    默认关闭,保存最近 15 次运行结果

    一、命令

    查看是否开启:

    show varibles like 'profiling'
    

    开启:

    set profiling=on;
    

    打印 sql 流水:

    show profiles;
    

    查看 cpu :

    #语句 id是 show profiles 里面的id
    show profile cpu,block io for query 语句id
    

    在上面这条语句中,会展示出 sql 的详细生命周期,其中:

    • convert HEAP to MyISAM 表示查询结果过大,内存不够用,需要拷贝到磁盘上,
    • creating tmp table 创建临时表
    • copying to tmp table 拷贝数据到临时表
    • removing tmp table 移除临时表
    • copying to tmp table on disk 把内存中的临时表拷贝到硬盘,locked 表示锁住,
      上述几种情况都是极其损耗性能的。


      参数列举

    全局查询日志

    此功能可以把所有的 sql 语句记录下来,禁止在正式环境开启。可以用来排查一些奇怪的问题。

    方法1,配置文件

    general_log=1
    general_log_file=/var/example/
    #日志格式
    log_output=FILE
    

    方法2,命令

    set global general_log=1;
    # 之后会记录到 `mysql` 库中的一张 general_log 表中
    set global general_log_out_put='TABLE';
    #查看sql日志
    select * from mysql.general_log;
    

    相关文章

      网友评论

          本文标题:【MySQL】11.3性能分析-show profile & 全

          本文链接:https://www.haomeiwen.com/subject/qesxultx.html