全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1133 7
2012-10-17
利用下面的程序,表a和表b均有几个G的数据,生成temp会更大,如何优化呢?

proc sql;
create table temp as
select b.name,
        a.nick_name,
  a.server,
  a.date
from  huizong_data a, tx2_quit b
where a.nick_name=b.nick_name and a.server=b.server;
quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-10-17 11:39:25
优化什么?效率?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-17 11:46:00
ziyenano 发表于 2012-10-17 11:39
优化什么?效率?
程序的目的是将表b的name匹配到表a中,用上述程序不仅运行时间长,而且需要的内存空间也非常大,是否有其他程序可以达到相同的目的,同时可以较大的提高效率并节省空间?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-17 11:51:18
速率问题,可以建立索引;
内存空间问题,
根据server这个字段,把表进行分割,后以nick_name匹配,不仅能解决内存不足的问题,而且速率也会提高。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-17 12:19:05
ziyenano 发表于 2012-10-17 11:51
速率问题,可以建立索引;
内存空间问题,
根据server这个字段,把表进行分割,后以nick_name匹配,不仅能 ...
用proc sql 来做好像就是很费时,我做几个表都出现同样的问题了,考虑用其他脚本,有好的建议没?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-17 12:55:07
不要用sql,效率太低
用data步
索引方面
可以用两个字段的复合索引
例如
DATA class(INDEX=(age i_ah=(age height)));
  SET sashelp.class;  
 RUN;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群