sp_babelfish_volatility
PostgreSQL 함수 변동성은 최적화 프로그램이 특정 절의 일부에 사용될 때 쿼리 성능에 큰 영향을 미치는 더 나은 쿼리 실행을 할 수 있도록 지원합니다.
구문
sp_babelfish_volatility ‘function_name’, ‘volatility’
인수
- function_name(선택 사항)
-
두 부분으로 구성된 이름으로 이 인수의 값을
schema_name.function_name
으로 지정하거나function_name
으로만 지정할 수 있습니다.function_name
으로만 지정하는 경우 스키마 이름은 현재 사용자의 기본 스키마입니다. - volatility(선택 사항)
-
PostgreSQL의 유효한 변동성 값은
stable
,volatile
또는immutable
입니다. 자세한 내용은 https://www.postgresql.org/docs/current/xfunc-volatility.html단원을 참조하세요.
참고
sp_babelfish_volatility
에서 여러 개의 정의를 가진 function_name
을 호출하면 오류가 발생합니다.
결과 집합
파라미터가 언급되지 않은 경우 결과 집합이 schemaname
, functionname
, volatility
열 아래에 표시됩니다.
사용 노트
PostgreSQL 함수 변동성은 최적화 프로그램이 특정 절의 일부에 사용될 때 쿼리 성능에 큰 영향을 미치는 더 나은 쿼리 실행을 할 수 있도록 지원합니다.
예시
다음 예에서는 간단한 함수를 만드는 방법을 보여 주고 나중에 다른 방법을 사용하여 이러한 함수에서 sp_babelfish_volatility
를 사용하는 방법을 설명합니다.
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
다음 예제는 함수의 변동성을 표시합니다.
1>
exec sp_babelfish_volatility2>
goschemaname functionname volatility ----------- ------------ ---------- dbo f1 volatile test_schema f1 volatile
다음 예제는 함수의 변동성을 변경하는 방법을 보여줍니다.
1>
exec sp_babelfish_volatility 'f1','stable'2>
go1>
exec sp_babelfish_volatility 'test_schema.f1','immutable'2>
go
function_name만 지정하면 해당 함수의 스키마 이름, 함수 이름 및 변동성이 표시됩니다. 다음 예제는 값을 변경한 후 함수의 변동성을 표시합니다.
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
인수를 지정하지 않으면 현재 데이터베이스에 있는 함수 목록(스키마 이름, 함수 이름, 함수 변동성)이 표시됩니다.
1>
exec sp_babelfish_volatility2>
goschemaname functionname volatility ----------- ------------ ---------- dbo f1 stable test_schema f1 immutable