返回首页

大家好,

每当我从MS SQL 2005的水晶报表的病人数据检索的记录,我得到了超时错误。我想可能是我的表的行数太多。

OrderTest表中,有超过50,000行。
OrderTestDetail表中,超过20万行。
在医生表,超过1000行。
在病人表,超过40,000行。

我使用这种存储过程:

SELECT 

OT.OrderDate, 

OTD.ItemID,

I.ItemName,

OTD.Price,

P.PatientName, 

D.DoctorName,

D.Remark

FROM OrderTest OT

LEFT JOIN OrderTestDetail OTD ON OT.OrderTestID=OTD.OrderTestID

LEFT JOIN Items I ON  OTD.ItemID=I.ItemID

LEFT JOIN Doctors D ON  I.[DoctorGroup]=D.[DoctorGroup]

LEFT JOIN Patients P ON P.PatientID=OT.PatientID

WHERE OT.OrderDate BETWEEN @FromDate AND @ToDate

& #160; 我应该如何改变我的存储过程?
请帮助我,每一个人。

的问候,
NWAY NGE| nwayynge

回答

评论会员:游客 时间:2012/02/07
|bolivankit:您可以使用SQL命令的CommandTimeout属性和标签在C#中web.config中的httpRuntimeexecutionTimeout财产。不改变的过程:amitgajjar:嗨,你需要使用imgsrc=,以尽量减少采取加盟的数量查询执行的时间超过3。希望这会帮助你,感谢艾米特
koolprasad2003
评论会员:游客 时间:2012/02/07
你可以克服这个问题,通过设置超时=0,但这并不是一个好的编码实践。写一个好的SQL查询不会导致超时。您有您的查询,并顺利取出,记录表的设计正常化。检查下面的链接。{A}]