sql-server – SQL Server – Management Studio – 客户端统计
我有一个缓慢运行的查询,我一直在努力优化.
在管理工作室中查看客户端统计信息时,服务器回复大约需要等待8秒的时间,客户端处理时间约为1秒. 我一直以为服务器回复的等待时间是要工作的数字,而客户端处理时间一般是带宽或大数据量相关. 我已经对查询进行了一些更改,现在我的服务器回复的等待时间大约是250ms,然而,客户端处理时间已经增加到大约9秒,使总执行时间稍慢. 返回的结果集完全相同. 有人可以看出这两个数字之间究竟有什么区别,什么会导致这样的结果? 解决方法“等待服务器端回复的时间”是客户端最后一个请求数据包与从服务器返回的第一个响应数据包之间的时间. “客户处理时间”是第一个响应数据包和最后一个响应数据包之间的时间. Btw,我找不到文件来支持这些声明,但是我会说,根据我的观察,他们是有效的教育猜测.如果您在服务器回复中运行大量等待时间的查询,则意味着服务器需要很长时间才能生成第一行.对于具有运算符需要整个子查询进行评估(在典型示例是排序运算符)的查询,这是常见的. 另一方面,具有非常小的’服务器回复的等待时间’的查询意味着查询能够快速返回第一行.然而,长的“客户端处理时间”并不一定意味着客户端花费了大量的时间处理,并且服务器被阻塞等待在客户端上.它可以简单地意味着服务器继续从结果返回行,这是在返回最后一行之后花费的时间. 您所看到的是查询计划的更改结果,可能会删除正在阻止执行(最可能是排序)的运算符,并且新计划使用不同的策略来更快地生成第一个结果(可能使用保证请求的索引)订单,所以我不需要),但总体来说更长. 如果您担心客户端阻止服务器(可能会发生在大型结果集上),那么您应该调查执行调查查询的会话的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |