많은 롤 토토를 사용하는 사람들이 사용자가 작성한 롤 토토 함수와 관련이 있지만PostgreSQL사용자 정의 롤 토토에서 직접 사용할 수있는 몇 가지 내장 롤 토토 기능을 제공합니다. 이것들은에 요약되어 있습니다.표 9.107. (외국 주요 제약 조건 및 지연된 인덱스 제약 조건을 구현하는 추가 내장 롤 토토 기능이 존재합니다. 사용자가 직접 사용할 필요가 없으므로 여기에 문서화되어 있지 않습니다.)
롤 토토 생성에 대한 자세한 내용은 참조롤 토토 만들기.
표 9.107. 내장 롤 토토 기능
기능 설명 예제 사용 |
---|
do nothing 업데이트 작업을 억제합니다. 자세한 내용은 아래를 참조하십시오.
|
자동으로 a
|
자동으로 a
|
thesuppress_drandant_updates_trigger
함수, 행 수준으로 적용될 때업데이트 전
롤 토토, 실제로 행의 데이터가 실제로 변경되지 않는 업데이트를 방지합니다. 이것은 데이터가 변경되었는지 여부에 관계없이 항상 물리적 행 업데이트를 수행하는 일반 동작을 무시합니다. (이 정상적인 동작은 점검이 필요하지 않으며 특정 경우에도 유용하기 때문에 업데이트가 더 빨리 실행됩니다.)
이상적으로는 실제로 레코드의 데이터를 변경하지 않는 업데이트를 실행하지 않아야합니다. 중복 업데이트는 특히 변경할 인덱스가 많고 결국 진공 청소기의 공간이있는 경우 상당한 불필요한 시간이 소요될 수 있습니다. 그러나 클라이언트 코드에서 이러한 상황을 감지하는 것이 항상 쉬운 것은 아니거나 심지어 가능한 것은 아니며,이를 감지하기위한 표현을 작성하는 것이 오류가 발생할 수 있습니다. 대안은 사용하는 것입니다suppress_drandant_updates_trigger
, 데이터를 변경하지 않는 업데이트를 건너 뛸 수 있습니다. 그러나 이것을주의해서 사용해야합니다. 방아쇠는 각 레코드에 대해 작지만 사소한 시간이 걸리므로 업데이트에 의해 영향을받는 대부분의 레코드가 실제로 변경되면이 롤 토토를 사용하여 업데이트가 평균적으로 느리게 실행됩니다..
thesuppress_drandant_updates_trigger
기능은 다음과 같은 테이블에 추가 할 수 있습니다.
롤 토토 생성 z_min_update TableName에 대한 업데이트 전에 각 행에 대해 EXECUTE 함수 suppress_drups_updates_trigger ();
대부분의 경우 각 행에 대해이 롤 토토를 마지막으로 발사하여 행을 변경하려는 다른 롤 토토를 무시하지 않도록해야합니다. 이름 순서로 발사를 유발한다는 점을 염두에두고, 따라서 테이블에 가질 수있는 다른 트리거의 이름으로 오는 롤 토토 이름을 선택합니다. (따라서“Z”예에서 접두사.)
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면