数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

如何了解SQL的执行频率


发布日期:2023年06月30日
 
如何了解SQL的执行频率

MySQL 客户端连接成功后通过 show [session|global]status 命令 可以提供服务器状态信息也可以在操作系统上使用 mysqladmin extendedstatus 命令获得这些消息

show [session|global] status 可以根据需要加上参数 session 或者 global 来显示 session 级(当前连接)的统计结果和 global 级(自数据库上次启动至今)的统计结果如果不写默认使用参数是 session

Com_xxx 表示每个 xxx 语句执行的次数我们通常比较关心的是以下几个统计参数

Com_select 执行 select 操作的次数一次查询只累加

Com_insert 执行 INSERT 操作的次数对于批量插入的 INSERT 操作只累加一次

Com_update 执行 UPDATE 操作的次数

Com_delete 执行 DELETE 操作的次数

知道了这些信息就方便我们确定我们到底需要什么样的存储引擎了一般来说update较多的时候 Innodb 引擎效率会稍微高一些!

上面这些参数对于所有存储引擎的表操作都会进行累计下面这几个参数只是针对 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 慢查询的次数

               

上一篇:MySQL:如何为用户设置密码

下一篇:MySQL数据导入导出方法与工具介绍二