sp_babelfish_volatility - Amazon Aurora

sp_babelfish_volatility

A volatilidade da função do PostgreSQL ajuda o otimizador a melhorar a execução de consultas. Quando usada em partes de determinadas cláusulas, tem um impacto significativo na performance de consultas.

Sintaxe

sp_babelfish_volatility ‘function_name’, ‘volatility’

Argumentos

function_name (opcional)

Você pode especificar o valor desse argumento como schema_name.function_name, com um nome de duas partes, ou somente function_name. Se você especificar somente function_name, o nome do esquema será o esquema padrão para o usuário atual.

volatility (opcional)

Os valores válidos de volatilidade do PostgreSQL são stable, volatile ou immutable. Para ter mais informações, consulte https://www.postgresql.org/docs/current/xfunc-volatility.html.

nota

Quando sp_babelfish_volatility é chamado com function_name, que tem várias definições, será gerado um erro.

Conjunto de resultados

Se os parâmetros não forem mencionados, o conjunto de resultados será exibido nas seguintes colunas: schemanamefunctionnamevolatility.

Observações de uso

A volatilidade da função do PostgreSQL ajuda o otimizador a melhorar a execução de consultas. Quando usada em partes de determinadas cláusulas, tem um impacto significativo na performance de consultas.

Exemplos

Os exemplos a seguir mostram como criar funções simples e, posteriormente, explicam como usar sp_babelfish_volatility nessas funções utilizando métodos diferentes.

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

O exemplo a seguir mostra a volatilidade das funções:

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

O exemplo a seguir mostra como alterar a volatilidade das funções:

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

Quando você especifica somente function_name, são exibidos o nome do esquema, o nome da função e a volatilidade da função. O exemplo a seguir mostra a volatilidade das funções depois de alterar os valores:

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

Quando você não especifica nenhum argumento, é exibida uma lista de funções (nome do esquema, nome da função, volatilidade das funções) presentes no banco de dados atual:

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