ASYNC

53次阅读
没有评论

共计 799 个字符,预计需要花费 2 分钟才能阅读完成。

自动写代码机器人,免费开通

ASYNC_NETWORK_IO 或 NETWORK_IO

翻译自:https://mssqlwiki.com/sqlwiki/sql-performance/async_network_io-or-network_io/

什么是 ASYNC_NETWORK_IO 或 NETWORK_IO?

当查询执行时,SQL Server 处理结果,并将它放到输出缓存,发送给客户端或应用程序。

客户端或应用程序然后从输出缓存获取结果,处理数据,并发送确认信息给 SQL Server。如果客户端或应用程序花了很长时间发送确认信息,那么 SQL Server 在处理额外结果之前等待 ASYNC_NETWORK_IO(SQL Server 2005/2008) 或 NETWORK_IO(SQL Server 2000)。

这个等待类型的影响:
1.SQL Server 将不会释放被查询持有的锁,除非客户端收到确认信息。这可能导致阻塞。
2. 查询持续时间增加,因此查询会很慢。

如何排除 ASYNC_NETWORK_IO 或 NETWORK_IO 等待类型故障?

限制结果集:限制从 SQL Server 获取的行数。很多应用程序设计者从整个表不使用 Where 从句过滤而获取数据,并在客户端过滤。这是非常错误的方式,应该在服务端过滤。

如果需要从服务器获取大量的行,并且如果其他会话由于 ASYNC_NETWORK_IO 或 NETWORK_IO 正在阻塞,那么插入所有行到临时表,然后从临时表查询。

检查客户端应用程序的性能:检查是否客户端或应用程序系统正经历着系统资源瓶颈。如果有系统资源瓶颈,应用程序将不能更快处理结果集。

网络:检查 SQL Server 和客户端或应用程序系统之间的网络速度。如果网络很慢,应用程序不能更快获取结果。

NOLOCK 提示或快照隔离级别:检查是否你可以使用 NOLOCK 提示或快照隔离级别。

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计799字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)