Loading...
MySQL 9.5 Reference Manual 9.5의 29.4.3 Event Pre-Filtering의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
Pre-filtering은 Performance Schema에 의해 수행되며, 모든 사용자에게 적용되는 글로벌 효과를 가집니다. Pre-filtering은 이벤트 처리의 프로듀서 단계나 컨슈머 단계 중 어느 한 단계에 적용할 수 있습니다:
프로듀서 단계에서 pre-filtering을 구성하려면, 여러 개의 테이블을 사용할 수 있습니다:
setup_instruments는 어떤 인스트루먼트들이 사용 가능한지를 나타냅니다. 이 테이블에서 비활성화된 인스트루먼트는 다른 프로덕션 관련 설정 테이블의 내용과 관계없이 어떠한 이벤트도 생성하지 않습니다. 이 테이블에서 활성화된 인스트루먼트는 다른 테이블들의 내용에 따라 이벤트를 생성할 수 있습니다.
setup_objects는 Performance Schema가 특정 테이블 및 스토어드 프로그램 오브젝트를 모니터링할지 여부를 제어합니다.
threads는 각 서버 스레드에 대해 모니터링이 활성화되어 있는지를 나타냅니다.
setup_actors는 새로운 포어그라운드 스레드에 대한 초기 모니터링 상태를 결정합니다.
컨슈머 단계에서 pre-filtering을 구성하려면, setup_consumers 테이블을 수정합니다. 이 테이블은 이벤트가 전송되는 목적지를 결정합니다. setup_consumers는 이벤트 프로덕션에도 암묵적으로 영향을 미칩니다. 특정 이벤트가 어떤 목적지에도 전송되지 않는 경우(즉, 전혀 소비되지 않는 경우), Performance Schema는 그 이벤트를 생성하지 않습니다.
이들 테이블 중 어느 것이든 수정하면, setup_actors 테이블에 대한 수정만 예외로 하여, 모니터링은 즉시 영향을 받습니다. setup_actors 수정 사항은 수정 이후에 생성되는 포어그라운드 스레드에만 영향을 미치며, 기존 스레드에는 영향을 미치지 않습니다.
모니터링 구성을 변경할 때, Performance Schema는 히스토리 테이블을 플러시하지 않습니다. 이미 수집된 이벤트는 새로운 이벤트에 의해 대체될 때까지 current-events 및 히스토리 테이블에 그대로 남아 있습니다. 만약 인스트루먼트를 비활성화했다면, 해당 인스트루먼트에 대한 이벤트가 관심 있는 최신 이벤트에 의해 대체될 때까지 어느 정도 기다려야 할 수도 있습니다. 또는 TRUNCATE TABLE을 사용하여 히스토리 테이블을 비울 수 있습니다.
인스트루먼트 변경을 수행한 후, 요약 테이블을 트렁케이트하고 싶을 수도 있습니다. 일반적으로 그 효과는 행을 제거하는 것이 아니라 요약 컬럼을 0 또는 NULL로 리셋하는 것입니다. 이를 통해 수집된 값을 지우고 집계를 다시 시작할 수 있습니다. 예를 들어, 런타임 구성 변경을 한 이후에 이것이 유용할 수 있습니다. 이 트렁케이트 동작에 대한 예외 사항은 개별 요약 테이블 섹션에 명시되어 있습니다.
다음 섹션에서는 특정 테이블을 사용하여 Performance Schema pre-filtering을 제어하는 방법을 설명합니다.
29.4.2 Performance Schema Event Filtering
29.4.4 Pre-Filtering by Instrument