当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 如何了解SQL的执行频率

MSSQL
SQLServer中求两个字符串的交集
SQL Server 触发器 表的特定字段更新时,触发Update触发器
SQL 查询分析中使用net命令问题
SQLServer 批量导入目录文件
sql语言中delete删除命令语句详解
Linq to SQL 插入数据时的一个问题
一个简单的SQL 行列转换语句
SQLServer 常用语句(按功能分)
SQLServer 管理常用SQL语句
SQL Server 2000中的触发器使用
SQL小技巧 又快又简单的得到你的数据库每个表的记录数
Sql Server 2000删除数据库备份文件
批量更新数据库所有表中字段的内容,中木马后的急救处理
sqlserver 通用分页存储过程
远程连接局域网内的sql server 无法连接 错误与解决方法
目前用到的两个分页存储过程代码
sqlserver 多表关联时在where语句中慎用trim()方法
Sql2005注射辅助脚本[粗糙版]
sql 2005不允许进行远程连接可能会导致此失败的解决方法
MSSQL2005数据库备份导入MSSQL2000

MSSQL 中的 如何了解SQL的执行频率


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 92 ::
收藏到网摘: n/a

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