欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【如何了解SQL的执行频率】,下面是详细的分享!
如何了解SQL的执行频率
MySQL 客户端连接成功后,通过 show [session|global]status 命令 可以提供服务器状态信息,也可以在操作系统上使用 mysqladmin extended-status 命令获得这些消息。
show [session|global] status 可以根据需要加上参数“ session ”或者“ global ”来显示 session 级(当前连接)的统计结果和 global 级(自数据库上次启动至今)的统计结果。如果不写,默认使用参数是“ session ”。
Com_xxx 表示每个 xxx 语句执行的次数,我们通常比较关心的是以下几个统计参数 :
Com_select :执行 select 操作的次数,一次查询只累加 1 。
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 : 慢查询的次数。
以上所分享的是关于如何了解SQL的执行频率,下面是编辑为你推荐的有价值的用户互动:
相关问题:怎么查看sql server累计执行的sql次数
答:貌似没有这方面的计数器,通常在缓存中看个粗略计数吧 >>详细
相关问题:SQL如何查询表中某列出现频率最多的字段
答:使用count函数即可。 例如: 表名test id name 1 a 1 b 1 f 2 c 2 d 3 e select id from test group by id having count(*)=(select top1 count(*) as counts from test group by id order by counts desc) >>详细
相关问题:Oracle可找出频率最高的SQL语句吗?
答:select sql_text,executionsfrom (select sql_text,executions, rank() over (order by executions desc) exes from v$sql)where exes >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
