我也跟風問個關於SQL的問題,請高人賜教。


我常常要query幾個billion條記錄的datasets,每次都至少要45分鍾以上得到結果(remote) 。我昨天晚上用VPN聯上database,噩夢,用了差不多2個小時。我在想,可不可以優化一下我的code讓速度提高一點。比如說,

Proc sql;
Create table A as
Select ….
From DB1 inner join DB2 on a.keyword=b.keyword
Where controls;
Quit;

改成

Proc sql;
Create table A as
Select ……
From DB1 where controls and keyword in ( select keyword from B );
Quit;

這樣會不會快一點?各位高大還有沒有什麽優化的高招?在些多謝啦。

我用SAS/SQL,我想基本原理跟SQL是一樣的吧?

所有跟帖: 

如果TABLE DB1(a)比DB2(b)小很多,把=號的CONTROLS對調一下 -煙仔哥- 給 煙仔哥 發送悄悄話 煙仔哥 的博客首頁 (30 bytes) () 11/10/2009 postreply 09:54:12

謝謝,好主意。 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (297 bytes) () 11/10/2009 postreply 10:00:08

數據處理應該是在SERVER上的而不是客戶端,隻要有INDEX -煙仔哥- 給 煙仔哥 發送悄悄話 煙仔哥 的博客首頁 (65 bytes) () 11/10/2009 postreply 10:26:19

你說得對,我查點資料看看,我記得好象advanced裏有,考完就忘了。 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:39:18

妹妹你要加 index, create index .... -我邊走邊問- 給 我邊走邊問 發送悄悄話 我邊走邊問 的博客首頁 (0 bytes) () 11/10/2009 postreply 09:55:58

嗬嗬,邊邊姐最近在猛K SAS呐?謝謝你,good idea. -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:08:31

哎,副教主,這兩天教豬那兒去了?俺想拍MP都找不到人了。 -煙仔哥- 給 煙仔哥 發送悄悄話 煙仔哥 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:32:19

啊,哈哈,你是:-}--~ -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:38:10

不對,你是:-}---~,你抽的是大煙,煙杆特長。 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:44:01

yes -煙仔哥- 給 煙仔哥 發送悄悄話 煙仔哥 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:45:49

my suggestion... -HappyNow?!- 給 HappyNow?! 發送悄悄話 HappyNow?! 的博客首頁 (449 bytes) () 11/10/2009 postreply 09:58:01

謝謝您 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (286 bytes) () 11/10/2009 postreply 10:07:46

回複:謝謝您 -HappyNow?!- 給 HappyNow?! 發送悄悄話 HappyNow?! 的博客首頁 (38 bytes) () 11/10/2009 postreply 10:12:38

good post, every DA should read this case -HappyNow?!- 給 HappyNow?! 發送悄悄話 HappyNow?! 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:31:57

謝謝您啦,老大,從您的貼子裏受益很多。 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (0 bytes) () 11/10/2009 postreply 10:40:19

回複:我也跟風問個關於SQL的問題,請高人賜教。 -nice2u- 給 nice2u 發送悄悄話 (449 bytes) () 11/10/2009 postreply 10:55:54

回複:回複:我也跟風問個關於SQL的問題,請高人賜教。 -veggiedoggie- 給 veggiedoggie 發送悄悄話 veggiedoggie 的博客首頁 (246 bytes) () 11/10/2009 postreply 11:14:50

回複:回複:回複:我也跟風問個關於SQL的問題,請高人賜教。 -nice2u- 給 nice2u 發送悄悄話 (278 bytes) () 11/10/2009 postreply 11:26:14

having done some reading.... -撅著挺好- 給 撅著挺好 發送悄悄話 (899 bytes) () 11/10/2009 postreply 14:47:05

"IS NOT NULL" vs "IS NULL" -- -:))) -HappyNow?!- 給 HappyNow?! 發送悄悄話 HappyNow?! 的博客首頁 (45 bytes) () 11/10/2009 postreply 15:20:46

good counterpart~~ -撅著挺好- 給 撅著挺好 發送悄悄話 (0 bytes) () 11/10/2009 postreply 16:21:17

Actually, join is much faster than embeded query (the 2nd one) -世界無童話- 給 世界無童話 發送悄悄話 世界無童話 的博客首頁 (27 bytes) () 11/10/2009 postreply 17:42:44

請您先登陸,再發跟帖!