트리거를 사용하여 수행 할 수있는 많은 것들도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
이 경우 배트맨 토토 시스템의 추가 명령이 있습니다.
요약은 배트맨 토토이