sp_babelfish_volatility - Amazon Aurora

sp_babelfish_volatility

PostgreSQL 関数の変動性により、オプティマイザはクエリをより適切に実行でき、特定の句の一部で使用すると、クエリのパフォーマンスに大きな影響を与えます。

構文

sp_babelfish_volatility ‘function_name’, ‘volatility’

引数

function_name (オプション)

この引数の値は、schema_name.function_name として 2 つの部分からなる名前で指定するか、function_name のみを指定することができます。function_name のみを指定した場合、スキーマ名は、現在のユーザーのデフォルトスキーマです。

変動性 (オプション)

PostgreSQL の変動性の有効な値は、stablevolatile、または immutable です。詳細については、「https://www.postgresql.org/docs/current/xfunc-volatility.html」を参照してください。

注記

sp_babelfish_volatility が複数の定義を持つ function_name で呼び出されると、エラーをスローします。

結果セット

パラメータが指定されていない場合、結果セットは schemanamefunctionnamevolatility 列に表示されます。

使用に関する注意事項

PostgreSQL 関数の変動性により、オプティマイザはクエリをより適切に実行でき、特定の句の一部で使用すると、クエリのパフォーマンスに大きな影響を与えます。

次の例は、簡単な関数を作成する方法を示し、後でさまざまな方法を使用してこれらの関数で sp_babelfish_volatility を使用する方法を示します。

1> create function f1() returns int as begin return 0 end 2> go
1> create schema test_schema 2> go
1> create function test_schema.f1() returns int as begin return 0 end 2> go

次の例は、関数の変動性を示しています。

1> exec sp_babelfish_volatility 2> go schemaname functionname volatility ----------- ------------ ---------- dbo f1 volatile test_schema f1 volatile

次の例は、関数の変動性を変更する方法を示しています。

1> exec sp_babelfish_volatility 'f1','stable' 2> go 1> exec sp_babelfish_volatility 'test_schema.f1','immutable' 2> go

function_name のみを指定すると、その関数のスキーマ名、関数名、および変動性が表示されます。次の例は、値を変更した後の関数の変動性を示しています。

1> exec sp_babelfish_volatility 'test_schema.f1' 2> go schemaname functionname volatility ----------- ------------ ---------- test_schema f1 immutable
1> exec sp_babelfish_volatility 'f1' 2> go schemaname functionname volatility ----------- ------------ ---------- dbo f1 stable

引数を指定しなかった場合、現在のデータベースに存在する関数のリスト (スキーマ名、関数名、変動性) が表示されます。

1> exec sp_babelfish_volatility 2> go schemaname functionname volatility ----------- ------------ ---------- dbo f1 stable test_schema f1 immutable