是否有性能或内存优势:从查询VS中选择A,B,C到temp中选择从(从表中选择A,B,C)到tempable的temp

时间:2016-05-25 09:42:23

标签: sql sql-server-2008 sqlperformance

在Sql server(2008版)中, 我有两个这样的问题:

Select * from sampleTable into #tempTable 

OR

Select * into #tempTable from (Select Query) as someTableName

这些查询中是否有性能或内存空间优势?或者两者都同样好。

众所周知,他们个人优于

Insert into Temp 
<Query>

但是相互比较时怎么样?

更新文字 两个查询是这样的:

 Select A,B,C into #tempTable from TestTable

OR

Select * into #tempTable from (Select A,B,C from TestTable) as someTableName

2 个答案:

答案 0 :(得分:1)

所有这些都会产生相同的查询计划。

SQL Server有一个查询优化器,优化掉冗余列是最容易和最基本的优化。

自己回答这些问题的最佳方法是查看查询计划并进行比较。记住特定查询的性能行为通常是毫无意义的。这是了解如何优化和执行查询的更好方法。

答案 1 :(得分:0)

相同的表现

如果您打算使用像10000这样的非常大的数据集,那么#temptable会减慢查询速度,如果您使用它来进行分页,或者某些东西有groupby,而在较新版本中则会获取newxt rows方法