本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
sp_babelfish_volatility
Postgre SQL 函數波動性有助於優化器實現更好的查詢執行,當在某些子句的一部分使用時會對查詢性能產生重大影響。
語法
sp_babelfish_volatility ‘function_name’, ‘volatility’
引數
- function_name (選用)
-
您可以使用兩段式名稱 (如
schema_name.function_name
) 或僅使用function_name
,來指定此引數的值。如果您僅指定function_name
,結構描述名稱就是目前使用者的預設結構描述。 - 波動 (選用)
-
波動性的有效SQL值為
stable
volatile
、或immutable
。如需詳細資訊,請參閱 https://www.postgresql.org/docs/current/xfunc-volatility.html
注意
當使用具有多個定義的 function_name
呼叫 sp_babelfish_volatility
時,其會擲出一個錯誤。
結果集
如果未提及參數,則結果集會顯示在下列欄位下方:schemaname
、functionname
、volatility
。
使用須知
Postgre SQL 函數波動性有助於優化器實現更好的查詢執行,當在某些子句的一部分使用時會對查詢性能產生重大影響。
範例
下列範例展示如何建立簡單函數,稍後說明如何使用不同的方法,在這些函數上使用 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