相关疑难解决方法(0)

为什么执行存储过程比脚本中的SQL查询更快?

事实上,如果我从我的应用程序调用存储过程,我需要连接到我的数据库.

那么,为什么调用"存储过程"应该比"传递SQL查询"字符串更快?

sql sql-server stored-procedures

21
推荐指数
2
解决办法
5万
查看次数

比较SQL Server中索引视图和存储过程的性能

我最近才意识到您现在可以在SQL Server中索引视图(请参阅http://technet.microsoft.com/en-us/library/cc917715.aspx).我现在正试图弄清楚当我从一个索引视图的查询中获得更好的性能与存储过程中的同一查询时,它的执行路径被缓存了吗?

举个例子如下:

SELECT colA, colB, sum(colC), sum(colD), colE
FROM myTable
WHERE colFDate < '9/30/2011'
GROUP BY colA, colB, colE
Run Code Online (Sandbox Code Playgroud)

每次运行时日期都会不同,所以如果这是一个视图,我不会WHERE在视图中包含它,而是将其作为我对视图的选择的一部分.如果它是存储过程,则日期将是参数.请注意,表中大约有300,000行.其中200,000个符合where条款和日期.在小组之后将返回10,000.

如果这是一个索引视图,我是否应该期望获得更好的性能而不是有机会缓存​​执行路径的存储过程?或者proc会更快吗?或者差异可以忽略不计?我知道我们可以说"只是尝试两种方式",但有太多因素可能会错误地偏向结果导致我得出错误的结论,所以我想听到更多关于它背后的理论以及预期的结果是什么.

谢谢!

sql sql-server stored-procedures sqlperformance sql-view

5
推荐指数
1
解决办法
5345
查看次数