Sql 如果多个SP';它基于相同的表

Sql 如果多个SP';它基于相同的表,sql,vb.net,tsql,Sql,Vb.net,Tsql,我有八个tsql存储过程,每次我在vb.net程序中加载表单时都会调用它们。查询查看windowsuser发送查询的对象,并根据其给出结果。 程序的结构始终相同,但最后一句除外: Create Procedure dbo.Name @one decimal(18,2) Output as ... Create Table #Temp1 Insert Into ... Create Table #Temp2 Insert Into ... Select ... 最后一条Select语句将在所有

我有八个tsql存储过程,每次我在vb.net程序中加载表单时都会调用它们。查询查看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_事件触发的。最好的加速方法是什么

如果您总是同时使用所有八个过程,那么将它们合并为一个,并且只创建一次临时表


如果需要提高临时表的速度,您还可以为其编制索引。

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

发布整个过程!我的sp是180行长的,这就是为什么我只使用这里的结构。我们需要更多的继续。8个查询实际上并没有那么糟糕。。。几乎可以肯定的是,您对临时表的使用导致了这里真正的问题,但是我们无法帮助您,除非我们能够看到一些代码。