【发布时间】:2011-12-22 18:46:45
【问题描述】:
在我的日常工作中,我经常使用包含数百万行、有时是数亿行、有时甚至超过 10 亿行的数据集。这些数据集通常需要排序。键几乎总是大整数值(通常是 9 位)。有时数据集具有 9 位和 3 位的复合键。
我想知道是否可以在 SAS 中实现一个(LSD 优先)基数排序宏,它可以用来代替 PROC SORT,以减少对这些数据集进行排序所花费的时间。我已经调整了排序以在适当的地方使用压缩,只保留相关字段(或使用标签排序),适当地调整字段长度,不要不必要地排序等等......
我使用的硬件有局限性——假设我只有 2G 的内存可供 SAS 使用,因此该解决方案不需要将所有键值放在内存中的临时数组中(至少不是全部放在一起)时间)。
该解决方案会比 proc 排序提供性能改进吗?有没有人已经实施过这样的事情或有经验?我是在浪费时间吗?
【问题讨论】:
标签: sas radix-sort