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,volatileouimmutable. 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