在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
答案 0 :(得分:1)
所有这些都会产生相同的查询计划。
SQL Server有一个查询优化器,优化掉冗余列是最容易和最基本的优化。
自己回答这些问题的最佳方法是查看查询计划并进行比较。记住特定查询的性能行为通常是毫无意义的。这是了解如何优化和执行查询的更好方法。
答案 1 :(得分:0)
相同的表现
如果您打算使用像10000这样的非常大的数据集,那么#temptable会减慢查询速度,如果您使用它来进行分页,或者某些东西有groupby,而在较新版本中则会获取newxt rows方法