0

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)groupbyに含まれる列の各テーブルにSIを作成しました。

誰かがさらに進む方法を提案できますか?

4

1 に答える 1

2

以下についての詳細がなければ、何も言うのは非常に難しいです。

  • クエリ(常に同じですか、それとも常に異なるWHEREがありますか)
  • AとBの構造(プライマリインデックス/パーティション化)
  • 実行計画
  • 実行のログ(ボトルネックがどこにあるかを確認するため)

しかし、この単一のクエリが毎回まったく同じであると仮定すると、実行中にAJIが作成されて使用され、JIのプライマリインデックスを調整しようとするのは私が考えることができる改善だけなので、アンプ間の分布は次のようになります。可能な限り均一

(ところで、AJIが使用されている場合、ステップ2と4は時間とデータベーススペースの無駄になります)

于 2012-02-15T21:45:51.723 に答える