我需要一個理論上的答案。哪些統計信息在SAS,proc摘要中計算得更快?
想象一下,您擁有一個擁有15億行(使用DB2-Blu以列爲基礎創建的表)的表。
您正在使用SAS,並且您將通過Proc Summary
使用Proc Summary
進行一些統計,如最小/最大/平均值,標準偏差值和百分位-10,百分位數-90。例如,您有30.000個對等組,並且每個對等組中有50,000個值(總計15億個值)。
另一種情況下,您有300萬個對等組,同時每個對等組中有50個值。所以你總共有15億的價值。
如果您有較少的對等組,但每個對等組中的值更多,它會更快嗎?或者在更多對等組中使用更快,但每個對等組的數值會更少。
我可以測試第一個案例(每個對等組30,000個對等組和50.000個值),大約需要16分鐘。但我無法測試第二種情況。
如果我在每個對等組中有300萬個對等組和50個值,那麼您可以爲運行時編寫一個近似預測嗎?
該問題的另一個維度。如果我使用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(基於列)中不需要建立索引,它本身具有某種智能解決方案。它確實比索引的基於行的錶快兩倍。 – user3714330
@DomPazz我在'Proc Summary'中使用'Class' – user3714330