运行多个CROSS JOIN时出现System.OutOfMemoryException

时间:2015-11-02 00:54:17

标签: sql-server

我试图将5个表的笛卡尔积插入第6个表(称之为A)。这些表(称为B,C,D,E,F)有10和10,000个记录,笛卡尔积返回的总记录应该是大约500,000(是的,我确实需要表A中的所有记录)。以下应该可以解决问题:

INSERT INTO A
SELECT * FROM B CROSS JOIN C CROSS JOIN D CROSS JOIN E CROSS JOIN F

但是在执行时,SQL会抛出System.OutOfMemoryException。我知道SQL管理工作室在32位平台上本身只能使用2GB的内存,因此我确信它已经填满并导致错误。如何在插入记录时清除内存,以便代码完成?

0 个答案:

没有答案