从 MS SQL SERVER 和 MS ACCESS 调用存储过程的结果之间的差异

Difference between results of calls stored procedure from MS SQL SERVER and MS ACCESS

SP是窗体的RecordSource。 当打开 SP 执行窗体并在查询超时后,连接将关闭,但什么也没有。 如果 SP 从 SSMS 执行,它会执行大约 2 秒和 returns 一组记录。 正如我通过 SSMS Profiler 看到的那样,调用是相同的,但是读取值的计数(从 Access 执行)> 2800 万,大约 7 万来自 SSMS。 帮帮我,我很困惑。 带有分析器的屏幕 http://take.ms/u7tTy

@tobypls,
非常感谢 - 你的 link 很有帮助。
简单的解决方案是重写(例如)

来自

ALTER PROCEDURE [dbo].[sproc] 
@param1 int,  
AS  
SELECT * FROM Table WHERE ID = @param1  

ALTER PROCEDURE [dbo].[sproc] 
@param1 int,
AS
DECLARE @param1a int
SET @param1a = @param1
SELECT * FROM Table WHERE ID = @param1a  

我从 this post 得到它。

但是如果你需要完全理解麻烦,那么你必须阅读非常棒的文章
应用程序慢,SSMS 快? 了解性能奥秘