sp_babelfish_volatility - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

sp_babelfish_volatility

Postgre SQL 函數波動性有助於優化器實現更好的查詢執行,當在某些子句的一部分使用時會對查詢性能產生重大影響。

語法

sp_babelfish_volatility ‘function_name’, ‘volatility’

引數

function_name (選用)

您可以使用兩段式名稱 (如 schema_name.function_name) 或僅使用 function_name,來指定此引數的值。如果您僅指定 function_name,結構描述名稱就是目前使用者的預設結構描述。

波動 (選用)

波動性的有效SQL值為stablevolatile、或immutable。如需詳細資訊,請參閱 https://www.postgresql.org/docs/current/xfunc-volatility.html

注意

當使用具有多個定義的 function_name 呼叫 sp_babelfish_volatility 時,其會擲出一個錯誤。

結果集

如果未提及參數,則結果集會顯示在下列欄位下方:schemanamefunctionnamevolatility

使用須知

Postgre SQL 函數波動性有助於優化器實現更好的查詢執行,當在某些子句的一部分使用時會對查詢性能產生重大影響。

範例

下列範例展示如何建立簡單函數,稍後說明如何使用不同的方法,在這些函數上使用 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