如何通过Management Studio在10秒内运行存储的程序,但是通过TableAdapter为同一输入需要15分钟?这是可重复的,这意味着我已经在每个环境中至少运行了三次,Management Studio的速度始终快了近100倍。Managment Studio和TableAdapter之间存储过程的执行时间差异很大
我使用.NET 2.0和SQL Server 2000
在SQL Server Management,我在执行这样的:
EXEC [dbo].[uspMovesReportByRouteStep]
@RouteStep = 12000,
@RangeBegin = N'12/28/08',
@RangeEnd = N'1/18/9'
在TableAdapter的,我使用的是StoredProcedure
CommandType
和dbo.uspMovesReportByRouteStep
为CommandText
。我从ASP.NET页面调用表格适配器,但如果我也尝试在本地“预览数据”,则会在30秒内超时。
提供存储过程是不现实的,因为它存在超过100行的长度,并且依赖于相同数据库和其他数据库上的许多其他UDF和视图。
所有其他存储过程似乎使用任一方法在大约相同的时间运行。这怎么可能?
有趣的是,我们这里并没有真正的DBA。不知何故,数据库在没有任何干预的情况下继续进行卡车运输,并且已有多年。但是我有权在服务器上做很多事情,所以也许我会开始嘲笑这个东西。感谢指针。 – recursive 2009-01-17 00:18:57