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 somentefunction_name
. Se você especificar somentefunction_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
ouimmutable
. 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: schemaname
, functionname
, volatility
.
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 end2>
go
1>
create schema test_schema2>
go
1>
create function test_schema.f1() returns int as begin return 0 end2>
go
O exemplo a seguir mostra a volatilidade das funções:
1>
exec sp_babelfish_volatility2>
goschemaname 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>
go1>
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>
goschemaname functionname volatility ----------- ------------ ---------- test_schema f1 immutable
1>
exec sp_babelfish_volatility 'f1'2>
goschemaname 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_volatility2>
goschemaname functionname volatility ----------- ------------ ---------- dbo f1 stable test_schema f1 immutable