이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 39.7. 윈 토토 대 트리거버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

35.6. 배트맨 토토 대 트리거

트리거를 사용하여 수행 할 수있는 많은 것들도PostgreSQL배트맨 토토 시스템. 구현할 수없는 것 중 하나아무것도열의 값이하는 경우

반면에, 발사 된 방아쇠삽입보기에서 배트맨 토토과 동일하게 할 수 있습니다 : put업데이트또는삭제, 실제 데이터가 없기 때문에

11789_12333

여기서 우리는 배트맨 토토의 선택과

테이블 컴퓨터 생성 (

두 테이블 모두 수천 개의 행이 있고 인덱스는hostname고유합니다. 규칙 또는소프트웨어삭제 된 참조

hostname = $ 1; 소프트웨어에서 삭제

트리거가 삭제 된 각 개별 행에 대한 트리거가 호출되므로컴퓨터, 준비하고 저장할 수 있습니다hostname매개 변수의 값. 배트맨 토토

컴퓨터로 삭제대로 Computer_del을 작성하십시오

이제 다른 유형의 삭제를 살펴 봅니다. 의 경우

hostname = 'mypc.local.net'; computer에서 삭제

테이블컴퓨터

Computer.HostName = 'mypc.local.net'소프트웨어에서 삭제

적절한 인덱스 설정이 있으므로 플래너는 그렇습니다

NestLoop

따라서 속도에는 그다지 큰 차이가 없을 것입니다.

다음 삭제와 함께 우리는 2000 년을 모두 제거하고 싶습니다.hostname시작old. 두 가지가 있습니다

hostName> = 'old'인 컴퓨터에서 삭제

배트맨 토토에 의해 추가 된 명령은

Computer.HostName> = 'Old'및 Computer.HostName < 'Ole'소프트웨어에서 삭제

계획과 함께

해시 조인

다른 가능한 명령은입니다.

호스트 이름 ~ '^Old';의 컴퓨터에서 삭제

명령에 대한 다음 실행 계획을 초래합니다.

NestLoop

이것은 플래너가hostnamein컴퓨터인덱스에도 사용될 수 있습니다소프트웨어다수가있을 때and컴퓨터및 2000 인덱스 스캔이소프트웨어. 배트맨 토토 구현은이를 수행합니다소프트웨어배트맨 토토 여부

우리가 보는 마지막 명령은

제조업체가있는 컴퓨터에서 삭제 = 'bim';

다시 많은 행이 삭제 될 수 있습니다컴퓨터. 그래서 트리거가 다시 실행됩니다

Computer.Manufacturer = 'BIM'소프트웨어에서 삭제

그 명령에 대한 계획은 다시 중첩 루프가 될 것입니다.컴퓨터:

NestLoop

이 경우 배트맨 토토 시스템의 추가 명령이 있습니다.

요약은 배트맨 토토이