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