在Teradata调整(分组)

时间:2011-09-27 11:13:13

标签: sql database performance teradata

我正在尝试调整Teradata中的查询。这是非常巨大的,所以我给出了大纲:

SEL column_1, column_2......column_20, sum(column_21), sum(column_22),.....sum(column_30)
from table_a a
inner join table_b b
on conditions...
group by column_1, ...,column_20;

我想调整一下。它在集团中遇到了性能障碍。表A和表B很大(超过20亿条记录)。

我尝试了以下选项,但没有一个提高性能:

1)收集所有必要的统计数据

2)在表A和B

的列上创建了一个JI

3)在列和表A和B中的总结

上创建了一个AJI

4)在每个表上为group by中涉及的列创建了一个SI。

有人可以建议如何继续进行吗?

1 个答案:

答案 0 :(得分:2)

如果没有任何细节,很难说什么:

  • 查询(它总是相同,或者总是有不同的WHERE)
  • A和B的结构(主要索引/分区)
  • 执行计划
  • 执行日志(查看瓶颈在哪里)

但是如果我们假设这个单一查询每次都完全相同,那么AJI是在执行期间创建和使用的,那么只有我能想到的改进才会尝试调整JI的主要索引,所以它在放大器之间分配会尽可能地统一

(顺便说一句,如果使用AJI,那么第2步和第4步会浪费你的时间和数据库空间)