【发布时间】:2009-03-23 14:31:36
【问题描述】:
我遇到了这个连接池问题:
How to solve a connection pool problem between ASP.NET and SQL Server?
我现在正在使用 SQL 分析器进行跟踪,我发现一些查询需要大约 400 个持续时间才能完成并返回数据。
这个值是不是太大了?
会不会导致之前的连接池问题?
【问题讨论】:
标签: asp.net sql sql-server
我遇到了这个连接池问题:
How to solve a connection pool problem between ASP.NET and SQL Server?
我现在正在使用 SQL 分析器进行跟踪,我发现一些查询需要大约 400 个持续时间才能完成并返回数据。
这个值是不是太大了?
会不会导致之前的连接池问题?
【问题讨论】:
标签: asp.net sql sql-server
400 表示 400 毫秒或 0.4 秒。
这是否太长真的取决于。如果这是您的首页或其他高流量区域,那么除非这是一个 Intranet 站点,否则这太过分了。您可能需要重新考虑如何获取这些数据,或者使用缓存来减少实际必须运行查询的次数。
如果这是一份报告,或其他更多涉及的页面,那么 400 毫秒并不过分。充其量您可能想检查是否可以更快地完成查询以改善整体用户体验。
您可能还需要运行 Tuning Advisor 来确定查询是否只是因为您没有正确的索引而运行缓慢。
【讨论】:
这取决于您的应用程序。这不到 1/2 秒。如果您正在处理数千万行数据,那么这可能会非常好。另一方面,如果您有 1000 多个用户,您的数据集很小,并且此查询一直在运行,那么您可能需要查看查询的性能。
【讨论】:
这取决于查询的用途、运行频率以及用户对响应时间的期望。
如果查询在少量数据上运行缓慢,则可能是您的 SQL、索引或网络服务器与数据库服务器之间的网络连接存在问题。优化查询可能是解决此问题的最佳首要任务。
此外,如果查询经常运行,或者在您需要快速响应时间的系统区域中,您可能需要稍微优化一下查询。
如果查询需要运行该时间长度并且无法进一步优化,但数据不会经常更改,那么在应用程序中缓存结果可能有助于缩短响应时间。
如果您有少量不关心性能的用户(例如运行报告的管理员),那么您不必担心。
【讨论】: