Sql Teradata:如何拆分查询以减小假脱机大小

Sql Teradata:如何拆分查询以减小假脱机大小,sql,select,teradata,Sql,Select,Teradata,我在Teradata中运行一个非常简单的查询时遇到问题,该查询基本上包括: SELECT COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9 FROM table1 LEFT OUTER JOIN table2 on table1.ID = table2.IDN; 我预计会有几百万个结果,但并不十分确定。统计数字表明大约有800万行 在收到一些资源错误后,我被告知作为一个用户,我被限制为500000行或37GB的假脱机大小。根据解释(正如您

我在Teradata中运行一个非常简单的查询时遇到问题,该查询基本上包括:

SELECT COL1, COL2, COL3, COL4, COL5, COL6, COL7, COL8, COL9
FROM table1 LEFT OUTER JOIN table2 on table1.ID = table2.IDN;
我预计会有几百万个结果,但并不十分确定。统计数字表明大约有800万行

在收到一些资源错误后,我被告知作为一个用户,我被限制为500000行或37GB的假脱机大小。根据解释(正如您可以想象的那样),这个查询远远超过了这两者。如果可能的话,我正在寻找一种分块选择的方法。。。除非我还缺什么东西


从本质上来说,这是一个糟糕的问题吗?有没有办法将查询拆分为多个较小的查询?

这是一个不寻常的查询,因为在一个约8M行的表上没有
where
子句。你真的需要每一排吗?也许不是每一排。我也可以处理在过去3年内创建了日期_的每一行,但是我仍然会有比资源限制允许的更多的行。谢谢你的反馈。一旦你得到了这些数据,你将如何处理它们?如果你在聚合或计算一些东西,也许你可以用SQL来代替。我实际上是把它复制到另一个数据库中,这样我就可以用ApacheSolr对它进行索引。事后看来,我应该在Solr中设置某种流索引,但我一直在设计和学习,现在已经太晚了:)。为什么不直接向DBA请求更多的假脱机空间呢?