我正在研究一些性能指标,每条建议都包括监控 Batch Requests/sec
。但是,也许是一个愚蠢的问题,单个批处理请求是否恰好对应于一个 tsql 语句?假设它恰好包含一个选择或一个更新等。因此,例如,具有 3 个选择和 2 个插入的存储过程会触发 5 个批处理请求。或者,正如我所想,一个批处理请求可以包括例如一个完整的存储过程、一个函数、几个选择/更新/插入语句等。
我能找到的都是类似于这些描述:
- TechNet每秒接收的 Transact-SQL 命令批次数。此统计信息受所有约束(例如 I/O、用户数量、缓存大小、请求的复杂性等)的影响。高批量请求意味着良好的吞吐量。
- 了解 SQL Server 如何执行查询 批处理请求此请求类型仅包含要执行的批处理的 T-SQL 文本。这种类型的请求没有参数,但显然 T-SQL 批处理本身可以包含局部变量声明。如果您在具有空参数列表的 SqlCommand 对象上调用任何 SqlCommand.ExecuteReader()、ExecuteNonQuery()、ExecuteScalar()、ExecuteXmlReader()(或它们各自的异步等效项),则这是 SqlClient 发送的请求类型。如果您使用 SQL Profiler 进行监控,您将看到一个 SQL:BatchStarting 事件类
根据评论,然后不 - 这不是一个单一的声明。一个批处理可以在一个批处理中涵盖多个单独的 T-SQL 语句。