PROC SQL左连接与更改表处理时间

时间:2016-02-22 01:08:36

标签: sas proc-sql

我正在尝试编写一些代码,将新数据列合并到主数据集中。

由于这是以宏的形式编写的,我希望在此过程中不会创建新的数据集。

我使用以下代码实现了这一目标:

    PROC SQL;
        ALTER TABLE table1
         ADD ADD_TYP Character length=12 format=$12.;
    QUIT;

    PROC SQL;
        UPDATE table1 as A
            SET ADD_TYP = (SELECT B.ADD_TYP FROM Address_Index as B 
                            WHERE A.Key=B.Key);
    QUIT;

但是,处理时间很可怕。这是正常的吗?左连接在5秒内完成。

我正在考虑做“CREATE TABLE table1”,即覆盖但在S​​AS中有错误消息

1 个答案:

答案 0 :(得分:1)

5秒似乎并不令人发指。

但是对于更新查询,您需要Address_Index(Key, ADD_TYP)上的索引。这应该会给你最好的表现。

但是,我应该注意,使用JOIN获取信息可能更好。您可以使用JOIN创建包含两个表的视图,因此只有在需要获取结果时才能完成工作。