【发布时间】:2014-11-05 11:53:00
【问题描述】:
我有一个包含 100 列和 2,000,000 条记录的表。当我使用存储过程从中获取记录时,有时我会收到“等待操作超时”。错误。当我更改存储过程然后尝试获取记录时,它会正常工作。
谁能告诉我最好的解决方案是什么?
SP AS 关注
CREATE PROC GetProducts @ClientId INT=NULL
AS
BEGIN
SELECT TOP 10 ClientId,
Field2,
Field3,
Field4,
Field5,
Field6,
Field7,
Field8,
Field9,
Field10
FROM ProductMaster
WHERE ClientId = @ClientId
ORDER BY Field1 DESC
END
【问题讨论】:
-
是的。尝试按照常见问题解答将其作为一个明智的问题。没有信息的“帮帮我”是不好的。
-
嗨 TomTom,我已经编辑了问题并给出了我遇到问题的 sp。
-
您有关于 ProductMaster 的任何索引吗?可能有助于发布您的架构。
-
FROM ProductMaster WHERE ClientId=@ClientId 大概
ClientId上至少有一个索引,如果是ClientId, Field1 DESC就更好了,如果是ClientId, Field1 DESC INCLUDE (Field2, 3, 4, ...)就更好了 -
GetProducts @ClientId INT=NULL=NULL究竟在这里实现了什么?
标签: sql-server