利用SqlConnection获得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 语句的计数在到达 |
SelectRows |
返回在应用程序使用提供程序启动并启用了统计信息之后所选的行数。 此计数器反映 SQL 语句生成的所有行,即使是调用方没有真正使用的行。 例如,如果在读取整个结果集之前关闭数据读取器,不会影响该计数。 其中包括通过 FETCH 语句从游标检索的行。 |
ServerRoundtrips |
返回在应用程序使用提供程序启动并启用了统计信息之后,连接向服务器发送命令并收到回复的次数。 |
SumResultSets |
返回在应用程序使用提供程序启动并启用了统计信息之后使用过的结果集数。 例如,此值可能包括返回到客户端的任何结果集。 对于光标,每个获取或块获取操作都属于独立的结果集。 |
Transactions |
返回在应用程序使用提供程序启动并启用了统计信息之后启动的用户事务数(包括回滚)。 如果连接在启用自动提交的情况下运行,则每个命令都属于一个事务。 只要执行了 BEGIN TRAN 语句,无论事务是提交还是以后回滚,此计数器都会使事务计数递增。 |
UnpreparedExecs |
返回在应用程序使用提供程序启动并启用了统计信息之后,通过连接执行的非准备语句数。 |
可通过SqlConnection.ResetStatistics()方法将统计数据置0。