如何了解SQL的执行频率

日期: 2009-09-02 作者:佚名 来源:TechTarget中国

  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 : 慢查询的次数。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

佚名
佚名

相关推荐