私は理論的な答えが必要です。どの統計情報がSAS、proc summaryでより高速に計算されますか?
15億行のテーブルがあるとします(テーブルはDB2-Bluで列ベースとして作成されます)。
あなたはSASを使用しており、ピアグループを介して最小/最大/平均値、標準偏差値、パーセンタイル-10、パーセンタイル-90などのProc Summary
を使用して統計を行います。
たとえば、30,000のピアグループがあり、各ピアグループに50,000の値があります(合計1.5億の値)。
他のケースでは、300万のピアグループがあり、各ピアグループに50個の値があります。したがって、合計15億の価値が再びあります。
ピアグループは少なくても、各ピアグループに値が多くなるほど速くなりますか?それとも、より多くのピアグループでは速くなりますが、各ピアグループではより少ない値になります。
私は最初のケース(ピアグループごとに30.000のピアグループと50.000の値)をテストすることができ、およそ16分かかりました。しかし、私は2番目のケースをテストすることはできません。
私は3百万のピアグループと各ピアグループに50の値を持っている場合に、実行時におおよその予兆を書くことができますか?
質問のもう1つの次元。代わりにProc SQL
を使用すると、統計を行う方が速いでしょうか?
例のコードは以下の通りです:
proc summary data = table_blu missing chartype;
class var1 var2; /* Var1 and var2 are toghether peer-group */
var values;
output out = stattable(rename = (_type_ = type) drop = _freq_)
n=n min=min max=max mean=mean std=std q1=q1 q3=q3 p10=p10 p90=p90 p95=p95
;
run;
は、グループごとまたはグループごとにインデックスを持つことにより、ソートされたデータですか?あなたは 'CLASS'または' BY'文を使っていますか? – DomPazz
@DomPazz私たちのシステム管理者は、DB2-Blu(列ベース)でインデックスを作成する必要はないと言っています。実際には、索引付けされた行ベースの表よりも2倍高速でした。 – user3714330
@DomPazz私は 'Proc Summary'で' Class'を使用しています。 – user3714330