2016-11-07 11 views
1

メタデータからSAS登録テーブルのリストを取得するためのコードを以下に作成しました。それが正常に動作しますが、原因ワークテーブルの大容量(PhysicalTableのsubtype)に実行するのに長い時間がかかる:メタデータURIを調整してワークテーブルメタデータタイプを除外する

data work.tables (keep=uri name); 
    length uri name $256; 
    n=1; 
    do while(metadata_getnobj("omsobj:[email protected] contains '.'",n,uri)>=0); 
    n+1; 
    if substr(uri,8,9)='WorkTable' then continue; 
    if metadata_getattr(uri, "SASTableName", name)=0 then output; 
    end; 
run; 

をワークテーブルタイプがメタデータに除外することができるようにURIを調整する方法はありますクエリ自体?次のように

Egが(動作しない):

omsobj:[email protected] contains '.' and @MetadataType ne 'WorkTable' 

答えて

1

したがって、次のURIそれはわずか20%高速だったが、トリックをした:

omsobj:[email protected] contains '.' and @PublicType = 'Table' 

これはもちろん短縮することができますto:

omsobj:[email protected] = 'Table' 

余分な0.2秒を削った。

関連する問題