zoukankan      html  css  js  c++  java
  • mysql如何记录cpu 和 block io 消耗较大的sql 呢

    mysql 有一项功能
    slow query log
    顾名思义,就是慢查询日志,日志中记录的是执行时间较长的query,也就是我们常说的slow
    query,通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名,
    默认文件名为hostname-slow.log,默认目录也是数据目录。

    两种启用方式:
    1, 在my.cnf 里 通过 log-slow-queries[=file_name]
    2, 在mysqld进程启动时,指定--log-slow-queries[=file_name]选项

    慢查询日志是文本格式,可以通过各种文本编辑器查看其中的内容。其中记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL 还提供了专门用来分析满查询日志的工具程序mysqlslowdump,可以解析这个文件。网上有很多关于解析此日志工具的对比说明,应该有4,5种工具吧,各有优劣。

    --log-queries-not-using-indexes
    这参数和slow query log 类似,记录没有应用索引的慢查询。

    这两种日志都是以时间为基准的,日志记录功能。MySQL 中我还没发现根据 逻辑 IO ,或者内存消耗,作基准的方法,记录高消耗sql的方法。有好方法可以交流。

  • 相关阅读:
    自动化部署之jenkins及简介
    gitlab的备份与恢复与迁移
    P2561 [AHOI2002]黑白瓷砖
    P2042 [NOI2005]维护数列
    P2156 [SDOI2009]细胞探索
    P2154 [SDOI2009]虔诚的墓主人
    P2148 [SDOI2009]E&D
    2019.2.26考试T2 矩阵快速幂加速DP
    loj #6485. LJJ 学二项式定理 (模板qwq)
    P3224 [HNOI2012]永无乡
  • 原文地址:https://www.cnblogs.com/GmrBrian/p/2869981.html
Copyright © 2011-2022 走看看