Mysql通过show status 命令了解各种SQL 的执行频率

MySQL 客户端连接成功后,通过show [session|global]status 命令可以提供服务器状态信
息,也可以在操作系统上使用mysqladmin extended-status 命令获得这些消息。show
[session|global] status 可以根据需要加上参数“session”或者“global”来显示session 级(当
前连接)的统计结果和global 级(自数据库上次启动至今)的统计结果。如果不写,默认使
用参数是“session”。
下面的命令显示了当前session 中所有统计参数的值:

mysql> show status like 'Com_%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| Com_admin_commands | 0 |
| Com_alter_db | 0 |

| Com_alter_event | 0 |
| Com_alter_table | 0 |
| Com_analyze | 0 |
| Com_backup_table | 0 |
| Com_begin | 0 |
| Com_change_db | 1 |
| Com_change_master | 0 |
| Com_check | 0 |
| Com_checksum | 0 |
| Com_commit | 0 |
……

Com_xxx 表示每个xxx 语句执行的次数,我们通常比较关心的是以下几个统计参数。
 Com_select:执行select 操作的次数,一次查询只累加1。
 Com_insert:执行INSERT 操作的次数,对于批量插入的INSERT 操作,只累加一次。
 Com_update:执行UPDATE 操作的次数。
 Com_delete:执行DELETE 操作的次数。
上面这些参数对于所有存储引擎的表操作都会进行累计。下面这几个参数只是针对
InnoDB 存储引擎的,累加的算法也略有不同。
 Innodb_rows_read:select 查询返回的行数。
 Innodb_rows_inserted:执行INSERT 操作插入的行数。
 Innodb_rows_updated:执行UPDATE 操作更新的行数。
 Innodb_rows_deleted:执行DELETE 操作删除的行数。
通过以上几个参数,可以很容易地了解当前数据库的应用是以插入更新为主还是以查询
操作为主,以及各种类型的SQL 大致的执行比例是多少。对于更新操作的计数,是对执行
次数的计数,不论提交还是回滚都会进行累加。
对于事务型的应用,通过Com_commit 和Com_rollback 可以了解事务提交和回滚的情况,
对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。
此外,以下几个参数便于用户了解数据库的基本情况。
 Connections:试图连接MySQL 服务器的次数。
 Uptime:服务器工作时间。
 Slow_queries:慢查询的次数。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值