我们可以在文件存储中创建临时表,而不是在内存中

时间:2017-10-11 09:31:41

标签: sql sql-server database-administration

我的数据集太大(大约1200万条记录)要查询。我需要为中间计算获取大量数据。如果我使用临时表,这会导致巨大的内存消耗。

SQL Server 2008 R2中是否有任何机制可以在磁盘中创建临时表而不是内存?

1 个答案:

答案 0 :(得分:2)

如果您将表声明为变量

declare @table ...

它存储在内存中。 要将它存储在db文件中,创建临时表,就像普通表一样,只有你的会话使用#前缀,或者像这样所有会话的##前缀:

CREATE table #TMP (
   name nvarchar(20)
   ....
)

您可以自动创建这样的内容:

select id, name, something_else into #TMP from your_phisical_table