zoukankan      html  css  js  c++  java
  • 利用SqlConnection获得SqlServer的统计信息

    SqlConnection有一个属性叫StatisticsEnable,将它设为true后,就可以通过SqlConnection.RetrieveStatistics()方法获得访问SqlServer过程中的统计信息。
    RetrieveStatistics()方法返回一个IDictionary对象,其中包含以下字段:

    键名

    说明

    BuffersReceived

    返回在应用程序使用提供程序启动并启用了统计信息之后,提供程序从 SQL Server 接收的表格格式数据流 (TDS) 数据包数。

    BuffersSent

    返回在启用了统计信息之后,由提供程序发送到 SQL Server 的 TDS 数据包数。 大命令可能需要多个缓冲区。 例如,如果某个大命令发送到服务器,并且需要六个数据包,ServerRoundtrips 将以 1 递增,BuffersSent 将以 6 递增。

    BytesReceived

    返回在应用程序使用提供程序启动并启用了统计信息之后,提供程序从 SQL Server 接收的 TDS 数据包中的数据字节数。

    BytesSent

    返回在应用程序使用提供程序启动并启用了统计信息之后,在 TDS 数据包中发送到 SQL Server 的数据字节数。

    ConnectionTime

    连接在统计信息启用之后已打开的时间(如果在打开连接之前就启用了统计信息,则为总连接时间)。

    CursorOpens

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接打开游标的次数。

    注意,SELECT 语句返回的只读/只进结果不属于游标,所以不影响此计数器。

    ExecutionTime

    返回在启用统计信息之后,提供程序用于处理方面的累计时间,包括等待服务器回复所用的时间以及执行提供程序本身的代码所用的时间。

    包含计时代码的类如下:

    SqlConnection

    SqlCommand

    SqlDataReader

    SqlDataAdapter

    SqlTransaction

    SqlCommandBuilder

    为了保持对性能要求很高的成员尽可能小,下列成员不计时:

    SqlDataReader

    this[] 运算符(所有重载)

    GetBoolean

    GetChar

    GetDateTime

    GetDecimal

    GetDouble

    GetFloat

    GetGuid

    GetInt16

    GetInt32

    GetInt64

    GetName

    GetOrdinal

    GetSqlBinary

    GetSqlBoolean

    GetSqlByte

    GetSqlDateTime

    GetSqlDecimal

    GetSqlDouble

    GetSqlGuid

    GetSqlInt16

    GetSqlInt32

    GetSqlInt64

    GetSqlMoney

    GetSqlSingle

    GetSqlString

    GetString

    IsDBNull

    IduCount

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接执行的 INSERT、DELETE 和 UPDATE 语句的总数。

    IduRows

    返回在应用程序使用提供程序启动并启用了统计信息之后,受到通过连接执行的 INSERT、DELETE 和 UPDATE 语句影响的行的总数。

    NetworkServerTime

    返回在应用程序使用提供程序启动并启用了统计信息之后,提供程序等待服务器回复所用的累计时间。

    PreparedExecs

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接执行的已准备命令数。

    Prepares

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接准备的语句数。

    SelectCount

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接执行的 SELECT 语句数。 其中包括用于从游标检索行的 FETCH 语句,SELECT 语句的计数在到达 SqlDataReader 的结尾时更新。

    SelectRows

    返回在应用程序使用提供程序启动并启用了统计信息之后所选的行数。 此计数器反映 SQL 语句生成的所有行,即使是调用方没有真正使用的行。 例如,如果在读取整个结果集之前关闭数据读取器,不会影响该计数。 其中包括通过 FETCH 语句从游标检索的行。

    ServerRoundtrips

    返回在应用程序使用提供程序启动并启用了统计信息之后,连接向服务器发送命令并收到回复的次数。

    SumResultSets

    返回在应用程序使用提供程序启动并启用了统计信息之后使用过的结果集数。 例如,此值可能包括返回到客户端的任何结果集。 对于光标,每个获取或块获取操作都属于独立的结果集。

    Transactions

    返回在应用程序使用提供程序启动并启用了统计信息之后启动的用户事务数(包括回滚)。 如果连接在启用自动提交的情况下运行,则每个命令都属于一个事务。

    只要执行了 BEGIN TRAN 语句,无论事务是提交还是以后回滚,此计数器都会使事务计数递增。

    UnpreparedExecs

    返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接执行的非准备语句数。


    可通过SqlConnection.ResetStatistics()方法将统计数据置0。
  • 相关阅读:
    shell 命令
    unzip解压失败 添加tar 解压
    tomcat
    Linux常用命令
    压缩归档与解压
    Linux的任务计划管理
    A01. openstack架构实战-openstack基本环境准备
    ubuntu16.04 server版破解密码
    Ubuntu Server 18.04 网络设置不生效的解决
    带宽单位 Mbps 及换算方式
  • 原文地址:https://www.cnblogs.com/think/p/SqlConnection_StatisticsEnable.html
Copyright © 2011-2022 走看看