在SAS数据集上使用KEEP选项是否可以提高读取性能?

spa*_*ead 5 sas

假设我试图var_1在一个非常大的数据集(近一兆兆字节)中总结一个变量(称之为).数据集既长又宽.我的代码看起来像这样:

PROC MEANS DATA=my_big_dataset SUM;
    VAR var_1;
RUN;
Run Code Online (Sandbox Code Playgroud)

通过使用KEEP正在读取的数据集上的选项,我可以获得任何性能提升吗?那是:

PROC MEANS DATA=my_big_dataset (KEEP=var_1) SUM;
    VAR var_1;
RUN;
Run Code Online (Sandbox Code Playgroud)

就磁盘I/O而言,我想无论如何都必须完整地读取每条记录.但是,可能需要分配更少的内存来读取记录.任何建议表示赞赏.

Rob*_*dge 5

是的它确实有所作为.大多数情况下,这并不是一个很大的差异,但如果您开始拥有非常宽或非常长的数据集,您将开始看到一些好处.

搜索以下keep=链接...

http://support.sas.com/techsup/technote/ts298.html

如果你遇到了性能问题,那么这可能会使你正在做的事情缩短几秒或几秒,但它不会将你的处理时间缩短一半.如果需要,请寻找其他优化技术.