sp_babelfish_volatility - Amazon Aurora

sp_babelfish_volatility

PostgreSQL 函数不稳定性有助于优化器更好地执行查询,当在某些子句的某些部分中使用时,会对查询性能产生重大影响。

语法

sp_babelfish_volatility ‘function_name’, ‘volatility’

参数

function_name(可选)

您可以将此参数的值指定为由两部分组成的名称 schema_name.function_name,也可以仅指定 function_name。如果您仅指定 function_name,则架构名称是当前用户的原定设置架构。

volatility(可选)

有效的 PostgreSQL 不稳定性值为 stablevolatileimmutable。有关更多信息,请参阅 https://www.postgresql.org/docs/current/xfunc-volatility.html

注意

当使用具有多个定义的 function_name 调用 sp_babelfish_volatility 时,将引发错误。

结果集

如果未提及参数,则结果集将显示在以下各列之下: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