作者liton (歐吉桑留學生)
看板Statistics
標題Re: [問題] SAS跑大量資料所需的時間
時間Wed Mar 18 01:30:47 2009
※ 引述《azimuth ()》之銘言:
: ※ 引述《liton (歐吉桑留學生)》之銘言:
: 原始資料: 6年交易紀錄76,113,236筆 (不用懷疑!)
: 光是用一個PROC SQL篩出一個帳戶的資料就耗掉快3分鐘
: 簡化的程序如下:
: PROC SQL ;
: CREATE TABLE no39 AS
: SELECT *,
: PUT(var1,DATE9.) AS time1 LENGTH=9 LABEL="時間1" ,
: PUT(var2,MONYY7.) AS time2 LENGTH=7 LABEL="時間2" ,
: var3 AS time3 FORMAT=TIME. LABEL="時間3" ,
: var4 AS time4 FORMAT=TIME. LABEL="時間3"
: FROM readall49
: WHERE acc_no=39;
: QUIT;
: PROC SORT DATA=no39 ;
: by var1 var2 var3 var4 ;
: RUN;
1.你浪費太多時間在acc_no ne no39上
先用acc_no篩選資料看看
然後再來處理那些數值運算
2.需要sort嗎?
塞order進去sql不就好了?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.189.144
→ west1996:where不是會比數值運算先執行? 03/18 07:46
推 azimuth:我知道可以把sort跟sql合寫.而"先用acc_no"篩選readall49 03/18 10:14
→ azimuth:的意思我不太懂 有什麼具體做法嗎? 請大大指教 謝謝 03/18 10:14
→ azimuth:另外我是按acc_no大小從readall49抓出觀察值,如果我先對 03/18 10:16
→ azimuth:readall49按acc_no排序 這樣系統處理會比較快嗎? 03/18 10:16