0

ファクト テーブルを読み込もうとしています。私は7つの異なるテーブルに参加しています。その結合から count(1) を選択すると、実行に 25 分かかり、988368728 レコードが返されました。その上で、グループ化を使用して、同じテーブルのセットに再び参加しています。

例:

Select set1.minVal, t2b, t2.Key1, T3.Key2... t7.g From t1, t2,...,t7
left outer join
(
    Select 
        Min(t1a) minVal, Max(t2b) maxVal, t2.Key1, T3.Key2 From t1, t2,...,t7
    group by t2.Key1, K3.Key2(Key Columns)
)set1
on t2.Key1 = set1.Key1
and t3.Key2 = set1.Key2
and t2b = maxVal

上記のクエリを実行すると、TEMPDB に十分なメモリがないため、1 時間後に失敗しました。ファクト テーブルを読み込むには、SSSI パッケージでこのクエリを使用する必要があります。さまざまな方法でこれを実現するためのクエリを作成するオプションがあります。そのうちの 1 つは、SP を使用して結果を分割して征服することができます。SSIS パッケージを使用して分割して征服することはできますが、それを破る方法がわかりません。

このタイムキラーを整理するのに助けが必要です。

4

2 に答える 2