ASYNC_NETWORK_IO 或 NETWORK_IO
翻譯自:https://mssqlwiki.com/sqlwiki/sql-performance/async_network_io-or-network_io/
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、防城港網(wǎng)絡(luò)推廣、微信小程序定制開(kāi)發(fā)、防城港網(wǎng)絡(luò)營(yíng)銷、防城港企業(yè)策劃、防城港品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供防城港建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
什么是 ASYNC_NETWORK_IO 或 NETWORK_IO ?
當(dāng)查詢執(zhí)行時(shí),SQL Server處理結(jié)果,并將它放到輸出緩存,發(fā)送給客戶端或應(yīng)用程序。
客戶端或應(yīng)用程序然后從輸出緩存獲取結(jié)果,處理數(shù)據(jù),并發(fā)送確認(rèn)信息給SQL Server。如果客戶端或應(yīng)用程序花了很長(zhǎng)時(shí)間發(fā)送確認(rèn)信息,那么SQL Server在處理額外結(jié)果之前等待 ASYNC_NETWORK_IO(SQL Server 2005/2008) 或 NETWORK_IO(SQL Server 2000)。
這個(gè)等待類型的影響:
1.SQL Server將不會(huì)釋放被查詢持有的鎖,除非客戶端收到確認(rèn)信息。這可能導(dǎo)致阻塞。
2.查詢持續(xù)時(shí)間增加,因此查詢會(huì)很慢。
如何排除 ASYNC_NETWORK_IO 或 NETWORK_IO 等待類型故障?
限制結(jié)果集:限制從SQL Server獲取的行數(shù)。很多應(yīng)用程序設(shè)計(jì)者從整個(gè)表不使用Where從句過(guò)濾而獲取數(shù)據(jù),并在客戶端過(guò)濾。這是非常錯(cuò)誤的方式,應(yīng)該在服務(wù)端過(guò)濾。
如果需要從服務(wù)器獲取大量的行,并且如果其他會(huì)話由于ASYNC_NETWORK_IO 或 NETWORK_IO正在阻塞,那么插入所有行到臨時(shí)表,然后從臨時(shí)表查詢。
檢查客戶端應(yīng)用程序的性能:檢查是否客戶端或應(yīng)用程序系統(tǒng)正經(jīng)歷著系統(tǒng)資源瓶頸。如果有系統(tǒng)資源瓶頸,應(yīng)用程序?qū)⒉荒芨焯幚斫Y(jié)果集。
網(wǎng)絡(luò):檢查SQL Server和客戶端或應(yīng)用程序系統(tǒng)之間的網(wǎng)絡(luò)速度。如果網(wǎng)絡(luò)很慢,應(yīng)用程序不能更快獲取結(jié)果。
NOLOCK提示或快照隔離級(jí)別:檢查是否你可以使用NOLOCK提示或快照隔離級(jí)別。