| 젠 토토 : 문서 : 9.6 : 젠 토토 | |||
|---|---|---|---|
| 배트맨 토토 PostgreSQL : 문서 : 9.6 : Notify | 토토 사이트 순위 PostgreSQL : 문서 : 9.6 : SQL 명령 | PostgreSQL : 문서 : 9.6 : 거래 배트맨 토토 | |
와이즈 토토와이즈 토토된 명령문을 생성합니다. 와이즈 토토된 문은 성능을 최적화하는 데 사용할 수 있는 서버측 개체입니다. 때와이즈 토토문이 실행되면 지정된 문이 구문 분석, 분석 및 다시 작성됩니다. 때실행명령이 이후에 실행되면 와이즈 토토된 명령문이 계획되고 실행됩니다. 이러한 작업 분할을 통해 반복적인 구문 분석 작업을 방지하는 동시에 실행 계획이 제공된 특정 매개변수 값에 따라 달라질 수 있습니다.
와이즈 토토된 명령문은 매개변수, 즉 실행 시 명령문에 대체되는 값을 취할 수 있습니다. 와이즈 토토된 문을 생성할 때, 다음을 사용하여 위치별 매개변수를 참조하십시오.$1, $2등. 매개변수 데이터 유형의 해당 목록을 선택적으로 지정할 수 있습니다. 매개변수의 데이터 유형이 지정되지 않거나 다음과 같이 선언된 경우알 수 없음, 유형은 매개변수가 처음 사용된 컨텍스트에서 추론됩니다(가능한 경우). 명령문을 실행할 때 다음 매개변수에 대한 실제 값을 지정하십시오.실행성명. 참조윈 토토 : 문서 : 9.6 : execute자세한 내용은 여기를 참조하세요.
와이즈 토토된 명령문은 현재 데이터베이스 세션 동안에만 지속됩니다. 세션이 종료되면 와이즈 토토된 문장은 잊혀지기 때문에 다시 사용하기 전에 다시 생성해야 합니다. 이는 또한 단일 와이즈 토토된 명령문을 여러 동시 데이터베이스 클라이언트에서 사용할 수 없음을 의미합니다. 그러나 각 클라이언트는 사용할 자신만의 와이즈 토토된 문을 만들 수 있습니다. 와이즈 토토된 문은 다음을 사용하여 수동으로 정리할 수 있습니다.토토 캔 : 문서 : 9.6 : 딜 로이징명령.
와이즈 토토된 명령문은 단일 세션이 다수의 유사한 명령문을 실행하는 데 사용될 때 잠재적으로 가장 큰 성능 이점을 갖습니다. 쿼리에 여러 테이블의 조인이 포함되거나 여러 규칙을 적용해야 하는 경우와 같이 명령문을 계획하거나 다시 작성하기가 복잡한 경우 성능 차이가 특히 커집니다. 명령문을 계획하고 다시 작성하는 것은 상대적으로 간단하지만 실행하는 데 상대적으로 비용이 많이 드는 경우 와이즈 토토된 명령문의 성능 이점은 눈에 띄지 않습니다.
이 특정 와이즈 토토된 명령문에 부여된 임의의 이름입니다. 단일 세션 내에서 고유해야 하며 이후에 이전에 와이즈 토토된 문을 실행하거나 할당을 취소하는 데 사용됩니다.
와이즈 토토된 명령문에 대한 매개변수의 데이터 유형입니다. 특정 매개변수의 데이터 유형이 지정되지 않거나 다음과 같이 지정된 경우알 수 없음, 매개변수가 처음 사용된 컨텍스트에서 추론됩니다. 와이즈 토토된 문 자체의 매개변수를 참조하려면 다음을 사용하세요.$1, $2등
모두선택, 삽입, 업데이트, 삭제또는값성명.
와이즈 토토된 진술은 제공된 각 세트로 다시 계획하는 대신 일반적인 계획을 사용할 수 있습니다.실행값. 이는 매개변수가 없는 와이즈 토토된 명령문의 경우 즉시 발생합니다. 그렇지 않으면 예상 비용 평균(계획 오버헤드 포함)이 일반 계획 비용 추정보다 더 비싼 계획을 5회 이상 실행한 후에만 발생합니다. 일반 계획을 선택하면 와이즈 토토된 문의 남은 수명 동안 사용됩니다. 사용실행중복 항목이 많은 열에서 드물게 발생하는 값은 계획 오버헤드를 추가한 후에도 일반 계획보다 훨씬 저렴한 사용자 정의 계획을 생성할 수 있으므로 일반 계획은 절대 사용되지 않을 수 있습니다.
일반적인 계획에서는 각 값이 다음에 제공된다고 가정합니다.실행은 열의 고유 값 중 하나이며 해당 열 값은 균일하게 분포됩니다. 예를 들어 통계가 세 개의 고유한 열 값을 기록하는 경우 일반 계획에서는 열 동일성 비교가 처리된 행의 33%와 일치한다고 가정합니다. 또한 열 통계를 사용하면 일반 계획을 통해 고유한 열의 선택성을 정확하게 계산할 수 있습니다. 불균일하게 분산된 열의 비교와 존재하지 않는 값의 지정은 평균 계획 비용에 영향을 미치므로 일반 계획을 선택하는 경우와 그 시기에 영향을 미칩니다.
쿼리 계획을 조사하려면PostgreSQL와이즈 토토된 문을 사용하고 있습니다. 사용PostgreSQL : 문서 : 9.6 : 스포츠 토토 결과예:설명 실행. 일반 계획을 사용 중인 경우 매개변수 기호가 포함됩니다.$n, 맞춤형 계획에는 제공된 매개변수 값이 대체됩니다. 일반 계획의 행 추정치는 매개변수에 대해 계산된 선택성을 반영합니다.
쿼리 계획 및 수집된 통계에 대한 자세한 내용은PostgreSQL그 목적에 대해서는 다음을 참조하세요.PostgreSQL : 문서 : 9.6 : 윈 토토문서.
와이즈 토토된 문의 주요 요점은 반복적인 구문 분석 및 문의 계획을 피하는 것이지만,PostgreSQL이전 와이즈 토토된 문의 사용 이후 문에 사용된 데이터베이스 객체가 정의(DDL) 변경을 거칠 때마다 문을 사용하기 전에 문을 강제로 재분석하고 다시 계획합니다. 또한, 값이검색_경로한 사용에서 다음 사용으로 변경되면 명령문은 새로운 사용을 사용하여 다시 구문 분석됩니다.검색_경로. (이 후자의 동작은 현재 새로운 것입니다.PostgreSQL9.3.) 이러한 규칙은 와이즈 토토된 문을 사용하여 동일한 쿼리 텍스트를 반복해서 다시 제출하는 것과 의미상 거의 동일하지만 개체 정의가 변경되지 않은 경우, 특히 최상의 계획이 사용 전반에 걸쳐 동일하게 유지되는 경우 성능 이점이 있습니다. 의미론적 동등성이 완벽하지 않은 경우의 예는 명령문이 정규화되지 않은 이름으로 테이블을 참조하고 동일한 이름의 새 테이블이 이전에 나타나는 스키마에 생성되는 경우입니다.검색_경로, 명령문에 사용된 개체가 변경되지 않았으므로 자동 재분석이 발생하지 않습니다. 그러나 다른 변경 사항으로 인해 강제로 다시 구문 분석이 이루어지면 이후 사용 시 새 테이블이 참조됩니다.
다음에 대해 와이즈 토토된 명령문 작성삽입문을 작성한 다음 실행하세요.
Fooplan 와이즈 토토(정수, 텍스트, 부울, 숫자) AS
foo 값에 삽입($1, $2, $3, $4);
EXECUTE fooplan(1, 'Hunter Valley', 't', 200.00);
다음에 대해 와이즈 토토된 명령문 작성선택문을 작성한 후 실행하세요.
usrrptplan (int) AS 와이즈 토토
SELECT * FROM 사용자 u, 로그 l WHERE u.usrid=$1 AND u.usrid=l.usrid
그리고 l.날짜 = $2;
실행 usrrptplan(1, 현재_날짜);
두 번째 매개변수의 데이터 유형은 지정되지 않았으므로 해당 컨텍스트에서 추론됩니다.$2사용됩니다.