我正在寻找解决方案或想法如何加快sas中大型数据集的处理速度。
你会推荐什么?
什么是更好的数据步骤或proc sql程序?
答案 0 :(得分:1)
加快数据处理速度取决于数据的保存位置。
您的数据可以是:
在以下情况下使用SAS数据步骤:
在以下情况下使用Proc SQL:
您可以执行SQL“传递”,您将发送SQL代码 在DB服务器上执行,只有输出发送到SAS(相反 通过网络将整个表格带到SAS,然后对其进行过滤),
您想查询SAS表,但更喜欢SQL连接到数据步合并。
您应该考虑的另一个主题是效率规划;在哪里优化查询和查找。
答案 1 :(得分:0)
我发现Proc SQL对我的用例更好。我们可能需要更多关于您尝试加入/导出等数据的大小和种类的细节。
向我们提供一些信息,我们可以尝试提供帮助。
提示: 限制你拉动的领域 子集数据
答案 2 :(得分:0)
根据我的经验Proc SQL
的传闻似乎更快。
以下是使用Proc SQL
加速查询的两个提示:
通常,您希望在查询时排除尽可能多的数据。如果您使用Proc SQL
,则where子句中的限制顺序很重要。首先放置最严格的部分。
例如,如果我要查询数据库中的姓氏为“JONES”且在2005年1月之后被聘用的教师,我会构建我的where子句,如下所示:where last_name = 'JONES' and hire_date > 200501
我会这样做,因为最后名称可能会排除比雇用日期限制更多的记录。
如果可能,请不要使用Select *
,而是列出您需要的特定列。请记住,即使您使用列进行计算,也不必在select
语句中包含该列。
这是一个非常有用的资源,用于了解如何有效地使用proc sql
。如果您在SAS中使用大型数据集进行大量工作,我建议您完整地阅读它。