【发布时间】:2014-03-06 16:30:47
【问题描述】:
我有一个场景,我正在使用来自 select 语句的数据创建一个临时表。我的问题是当从 select 查询中传入的数据很大时,我遇到了内存不足的问题,导致我的查询无法给出结果。
我想知道是否有办法将一大块数据(比如每 1000 行)提交到临时表中,然后再继续下一个。
Eg:
CREATE TABLE NEW_TABLE AS
SELECT [ column1, column2...columnN ]
FROM EXISTING_TABLE
[ WHERE ] <ALL CONDITIONS>
现在假设内部选择返回 100 行。我不希望一次将所有 100 行插入到 NEW_TABLE 中。我想把这个分开。我该如何有效地做到这一点?
【问题讨论】:
-
针对大量数据运行 CTAS 时遇到的确切错误是什么?
-
@tbone 不幸的是,我没有错误日志。有人告诉我有一个内存错误,这就是我要解决的问题。我的任务是优化现有查询:(