如果许多SP基于相同的表,则加速查询

时间:2013-10-02 14:08:01

标签: sql vb.net tsql

每次在我的vb.net程序中加载表单时,我都会调用8个tsql存储过程。查询查看windowsuser发送查询并根据它提供结果。 除最后一条语句外,程序的结构总是相同的:

Create Procedure dbo.Name @one decimal(18,2) Output as 
...
Create Table #Temp1
Insert Into
...
Create Table #Temp2
Insert Into
...
Select ...

最后一个Select语句在所有八个SP中都会发生变化,并使用Temp1和Temp2信息,并根据登录的用户发送查询。一切正常但速度很慢,因为每八个查询都是由load_event触发的。加快速度的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

如果您总是一起使用所有八个过程,则将它们合并为一个并仅创建一次临时表。

如果您需要提高速度,也可以索引临时表。

答案 1 :(得分:0)

由于它是性能问题,对于SQL Server 2000及更高版本,您可以尝试使用表变量(前缀为@)而不是临时表。