0

我有一个 8 个 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_event 触发的。加快速度的最佳方法是什么?

4

2 回答 2

0

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

如果您需要提高它们的速度,您还可以索引临时表。

于 2013-10-02T14:26:31.270 回答
0

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

于 2013-10-02T14:51:59.483 回答