假设我试图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而言,我想无论如何都必须完整地读取每条记录.但是,可能需要分配更少的内存来读取记录.任何建议表示赞赏.
是的它确实有所作为.大多数情况下,这并不是一个很大的差异,但如果您开始拥有非常宽或非常长的数据集,您将开始看到一些好处.
搜索以下keep=链接...
http://support.sas.com/techsup/technote/ts298.html
如果你遇到了性能问题,那么这可能会使你正在做的事情缩短几秒或几秒,但它不会将你的处理时间缩短一半.如果需要,请寻找其他优化技术.
| 归档时间: |
|
| 查看次数: |
302 次 |
| 最近记录: |