SQL存储过程中,删除临时表还是声明新的临时表更好?

3
我有一个存储过程,其中有几个步骤。其中两个步骤需要使用DECLARE TABLE,但我不需要同时使用这些表。
这两个表都有2个BIGINT列,最多可能有100行。
是声明这两个表还是DELETE并重复使用其中一个更好呢?
编辑:如果您感兴趣,这是在此问题中设计的存储过程的后续步骤。
2个回答

2

创建第二个表会有极小的开销。但如果它们具有相同的列,并且您不需要数据,只需删除并重用即可。如果您有一个用于无游标循环的身份列(在此答案的最后一个代码示例中) ,您可能希望只创建第二个表。


它是无游标的,使用MERGE语句。没有循环,只有几个步骤。我怀疑在我的特定用途中不会有明显的性能差异,但我只是在寻找一个处理未来可能更大的表的一般指南。 - Matthew
我可能不会在处理大量数据时使用@variable表,普通的#Temp表在处理大量行时性能更好。 - KM.
你会在使用变量和#Temp之间划分哪条界限? - Matthew
1
@Matthew PK: 请查看SQL Server中临时表和表变量有何区别?临时表与表变量及其对SQL Server性能的影响进行充分讨论,了解@variable 和 #temp之间的区别。 - Joe Stefanelli

1
首先,你不能截断一个表变量,而是必须使用“delete from”语句。对于这么少的行数,我认为无论哪种方式都没有太大的区别。选择让你的代码更易读的方式即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接