在SQL Server 2005中,我们可以通过以下两种方式之一创建临时表:
declare @tmp table (Col1 int, Col2 int);
Run Code Online (Sandbox Code Playgroud)
要么
create table #tmp (Col1 int, Col2 int);
Run Code Online (Sandbox Code Playgroud)
这两者有什么不同?关于@tmp是否仍然使用tempdb,或者是否所有内容都发生在内存中,我已经阅读了相互矛盾的意见.
在哪种情况下,一个人胜过另一个?
哪个更高效,CTE
或者Temporary Tables
?
sql-server performance temp-tables common-table-expression sql-server-2008