前のページ|次のページ

WHERENOINDEX=データセットオプション

WHERE式の評価時に取り除くインデックスのリストを指定します。

該当要素: DATAステップおよびPROCステップ
デフォルト: 空白
制限事項: IDXWHERE=NOデータセットオプションと一緒には使用不可
エンジン: SPD Engineのみ

構文

WHERENOINDEX=(name(s))

必須引数

(name(s))

WHEREプランナから取り除くインデックス名のリスト。

例: インデックスを取り除く

データセットPRECSがインデックスと一緒に定義されます。
proc datasets lib=spde cen
   modify precs;
   index create stser=(state serialno) occind=(occup industry) hour89;
quit;
次のクエリの評価時に、SPD Engineでは、STATE変数でもHOUR89変数でもインデックスは使用されません。
この場合、OCCUP変数とINDUSTRY変数の条件のAND組み合わせでは、出力対象は非常に少なくなります。条件を満たすオブザベーションは少数です。クエリの完全インデックス評価に必要とされる余分なインデックスI/O(コンピュータ時間)を回避するには、次のSASコードを使用します。
proc sql;
   create data set hr80spde
   as select state, age, sex, hour89, industry, occup from spde cen.precs
     (wherenoindex=(stser hour89))
   where occup='022'
   and state in('37','03','06','36')
   and industry='012'
   and hour89 > 40;
 quit;
注: WHERENOINDEXリストでは、変数名ではなく、インデックス名を指定します。前述の例では、STATE変数の複合インデックスSTSERと単一インデックスHOUR89の両方が取り除かれます。
前のページ|次のページ|ページの先頭へ