通过show status 命令了解各种sql的执行频率
show status like 'Com_%';
Com_select | 1 执行select操作的次数,一次查询只累加1
Com_insert | 0 执行insert操作的次数,对于批量插入的insert,只累加一次
Com_update | 0 执行update操作的次数
Com_delete | 0 执行delete操作的次数
上述参数对所有存储引擎的表操作都会进行累计,下面这几个参数只是针对innodb存储引擎的,累加的算法也略有不同
mysql> show status like 'Innodb_rows_%';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Innodb_rows_deleted | 1 | 执行dellete 操作删除的行数
| Innodb_rows_inserted | 50 | 执行insert操作插入的行数
| Innodb_rows_read | 168 | select查询返回的行数
| Innodb_rows_updated | 0 | 执行updat操作更新的行数
+----------------------+-------+
通过以上几个参数,可以很容易的了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的sql大致的执行比例是多少
对事务型的应用,通过Com_commit和Com_rollback可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。