本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
sp_babelfish_volatility
PostgreSQL 函數波動有助於最佳化工具取得更好的查詢執行,當用於特定子句的某些部分時,這會對查詢效能產生顯著影響。
語法
sp_babelfish_volatility ‘function_name’, ‘volatility’
引數
- function_name (選用)
-
您可以使用兩段式名稱 (如
schema_name.function_name) 或僅使用function_name,來指定此引數的值。如果您僅指定function_name,結構描述名稱就是目前使用者的預設結構描述。 - 波動 (選用)
-
波動的有效 PostgreSQL 值為
stable、volatile或immutable。如需詳細資訊,請參閱https://www.postgresql.org/docs/current/xfunc-volatility.html
注意
當使用具有多個定義的 function_name 呼叫 sp_babelfish_volatility 時,其會擲出一個錯誤。
結果集
如果未提及參數,則結果集會顯示在下列欄位下方:schemaname、functionname、volatility。
使用須知
PostgreSQL 函數波動有助於最佳化工具取得更好的查詢執行,當用於特定子句的某些部分時,這會對查詢效能產生顯著影響。
範例
下列範例展示如何建立簡單函數,稍後說明如何使用不同的方法,在這些函數上使用 sp_babelfish_volatility。
1>create function f1() returns int as begin return 0 end2>go
1>create schema test_schema2>go
1>create function test_schema.f1() returns int as begin return 0 end2>go
下列範例顯示函數的波動:
1>exec sp_babelfish_volatility2>goschemaname functionname volatility ----------- ------------ ---------- dbo f1 volatile test_schema f1 volatile
下列範例展示如何變更函數的波動:
1>exec sp_babelfish_volatility 'f1','stable'2>go1>exec sp_babelfish_volatility 'test_schema.f1','immutable'2>go
當您僅指定 function_name 時,其會顯示結構描述名稱,函數名稱,以及該函數的波動。下列範例顯示函數在變更值之後的波動:
1>exec sp_babelfish_volatility 'test_schema.f1'2>goschemaname functionname volatility ----------- ------------ ---------- test_schema f1 immutable
1>exec sp_babelfish_volatility 'f1'2>goschemaname functionname volatility ----------- ------------ ---------- dbo f1 stable
當您未指定任何引數時,其會顯示目前資料庫中存在的函數清單 (結構描述名稱、函數名稱、函數的波動):
1>exec sp_babelfish_volatility2>goschemaname functionname volatility ----------- ------------ ---------- dbo f1 stable test_schema f1 immutable