我试图将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的内存,因此我确信它已经填满并导致错误。如何在插入记录时清除内存,以便代码完成?