我有一个存储过程,它在结果集中从SQL Server返回7个数据表。它使用大约400 MB的带宽将数据带到客户端进行处理。
将数据带回来的代码非常简单:
private DataSet CreateDataSet(SqlCommand command)
{
DataSet dataSet = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(dataSet);
da.Dispose();
return dataSet;
}
问题在于,在数据库中,这个sproc导致类型为ASYNC_NETWORK_IO的相当大的等待,文档说,这意味着客户端无法跟上数据库。
我的问题是如何以更快的方式将这些数据带到客户端,从而消除或减少服务器上的ASYNC_NETWORK_IO等待?
一些事实: