我正在运行像 ( Select top 10 records, joins, counts, group by
) 这样的简单查询来根据要求获取行和统计信息。表有大约 150,000 到 200,000 行。所有主键和外键都定义明确。
但是我在运行查询时随机收到超时错误。相同的查询或存储过程需要不同的时间来完成。数据库托管在共享服务器上。我将命令超时属性设置为 600,但它不起作用。我的服务提供商说如果处理未完成,系统将在 30 秒后终止查询。他们告诉我调整查询以匹配时间。
例如。
CREATE PROCEDURE [dbo].[NP_TableReport]
(
@CreatedOnFrom datetime = NULL,
@CreatedOnTo datetime = NULL
)
AS
BEGIN
SELECT COUNT(ID) [Count]
FROM Table1
WHERE
(@CreatedOnFrom IS NULL OR @CreatedOnFrom <= CreatedOn)
AND (@CreatedOnTo IS NULL OR @CreatedOnTo >= CreatedOn)
END
请告诉我是什么导致了随机超时错误?当我在专用服务器上尝试相同的操作时,错误消失了。有人可以解释发生了什么吗?