sp_babelfish_volatility
La volatilidad de las funciones de PostgreSQL ayuda al optimizador a ejecutar mejor las consultas, lo que, cuando se usa en partes de determinadas cláusulas, tiene un impacto significativo en el rendimiento de las consultas.
Sintaxis
sp_babelfish_volatility ‘function_name’, ‘volatility’
Argumentos
- function_name (opcional)
-
Puede especificar el valor de este argumento con un nombre de dos partes como
schema_name.function_name
o solo elfunction_name
. Si especifica solo elfunction_name
, el nombre del esquema será el esquema predeterminado para el usuario actual. - volatility (optional)
-
Los valores de volatilidad válidos de PostgreSQL son
stable
,volatile
oimmutable
. Para obtener más información, consulte https://www.postgresql.org/docs/current/xfunc-volatility.html
nota
Cuando sp_babelfish_volatility
se llama con un function_name
con múltiples definiciones, arrojará un error.
Conjuntos de resultados
Si no se mencionan los parámetros, el conjunto de resultados se muestra en las siguientes columnas: schemaname
, functionname
, volatility
.
Notas de uso
La volatilidad de las funciones de PostgreSQL ayuda al optimizador a ejecutar mejor las consultas, lo que, cuando se usa en partes de determinadas cláusulas, tiene un impacto significativo en el rendimiento de las consultas.
Ejemplos
En los siguientes ejemplos se muestra cómo crear funciones simples y, posteriormente, se explica cómo utilizar sp_babelfish_volatility
en estas funciones mediante diferentes métodos.
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
El siguiente ejemplo muestra la volatilidad de las funciones:
1>
exec sp_babelfish_volatility2>
goschemaname functionname volatility ----------- ------------ ---------- dbo f1 volatile test_schema f1 volatile
El siguiente ejemplo muestra cómo cambiar la volatilidad de las funciones:
1>
exec sp_babelfish_volatility 'f1','stable'2>
go1>
exec sp_babelfish_volatility 'test_schema.f1','immutable'2>
go
Al especificar solo el function_name, se muestran el nombre del esquema, el nombre de la función y la volatilidad de esa función. El siguiente ejemplo muestra la volatilidad de las funciones después de cambiar los 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
Si no especifica ningún argumento, se muestra una lista de funciones (nombre del esquema, nombre de la función, volatilidad de las funciones) presentes en la base de datos actual:
1>
exec sp_babelfish_volatility2>
goschemaname functionname volatility ----------- ------------ ---------- dbo f1 stable test_schema f1 immutable