SQLREDUCEPUT= システムオプション
SQLプロシジャの場合、クエリでのPUT関数の最適化に使用されるエンジンタイプを指定します。PUT関数は、論理的に等価な式で置き換えられます。
| 該当要素: | SAS Environment Manager、自動実行ファイル、OPTIONSステートメント |
|---|---|
| カテゴリ: | ファイル: SASファイル |
| システム管理: SQL | |
| システム管理: パフォーマンス | |
| PROC OPTIONS GROUP= | SASFILES |
| SQL | |
| PERFORMANCE | |
| 注: | サイト管理者は、このオプションを制限できます。詳細については、制限されたオプション (SASシステムオプション: リファレンス)を参照してください。 |
構文
構文の説明
ALL
すべてのPUT関数の最適化を考慮することを指定します。これは、クエリがデータのアクセスにどのエンジンを使用するかにかかわりません。
NONE
どのPUT関数も最適化しないことを指定します。
DBMS
SAS/ACCESSエンジンが実行するクエリ内のすべてのPUT関数について最適化を考慮することを指定します。これがデフォルトです。
| 要件 | PUT関数に渡す最初の引数は、テーブルから取得される変数である必要があります。テーブルには、SAS/ACCESSエンジンを使用してアクセスする必要があります。 |
|---|
BASE
SAS/ACCESSエンジンまたはBase SASエンジンが実行するクエリ内のすべてのPUT関数について最適化を考慮することを指定します。
詳細
SQLREDUCEPUT=システムオプションを指定すると、SASはPUT関数を最適化してからクエリを実行します。クエリにWHERE句も含まれる場合、WHERE句の評価が簡略化されます。次のSELECTステートメントは、SQLREDUCEPUT=オプションをnone以外の任意の値に設定した場合に最適化されるクエリの例です。
select x, y from &lib..b where (PUT(x, abc.) in ('yes', 'no'));
select x from &lib..a where (PUT(x, udfmt.) = trim(left('small')));
SQLREDUCEPUT=システムオプションとSQLCONSTDATETIMEシステムオプションの両方が指定された場合、PROC SQLは、PUT関数値を決定するために、クエリを実行する前にDATE関数、TIME関数、DATETIME関数、TODAY関数をそれぞれの値で置き換えます。
次の2つのSELECT句は、元のクエリと最適化されたクエリを示しています。
select x from &lib..c where (put(bday, date9.) = put(today(), date9.));
ここでは、SELECT句が最適化されています。
select x from &lib..c where (bday = '17MAR2011'D);
クエリにPUT関数が含まれていない場合、そのクエリは最適化されません。
関連項目
-
プロシジャステートメントオプション:
-
システムオプション: