■ Transaction 테이블
Performance Schema는 트랜잭션을 계측합니다. 이벤트 계층 구조 내에서 대기(Wait) 이벤트, 명령문(Statement) 이벤트, 스테이지(Stage) 이벤트와 같은 레벨에 존재합니다.
• 설정방법
다음과 같은 계측기가 있습니다. 원하는 계측기에 ENABLED 컬럼을 YES, 타이머 정보까지 원한다면 TIMED컬럼을 YES로 변경합니다.
SELECT *
FROM performance_schema.setup_instruments
WHERE NAME = 'transaction';
+-------------+---------+-------+
| NAME | ENABLED | TIMED |
+-------------+---------+-------+
| transaction | NO | NO |
+-------------+---------+-------+
컨슈머 테이블에서 해당 statement 이벤트를 YES로 변경합니다.
mysql> SELECT *
FROM performance_schema.setup_consumers
WHERE NAME LIKE 'events_transactions%';
+----------------------------------+---------+
| NAME | ENABLED |
+----------------------------------+---------+
| events_transactions_current | NO |
| events_transactions_history | NO |
| events_transactions_history_long | NO |
+----------------------------------+---------+
statement 타이머에 대해 TIMER_NAME을 원하는 시간단위로 변경합니다.
mysql> SELECT *
FROM performance_schema.setup_timers
WHERE NAME = 'transaction';
+-------------+------------+
| NAME | TIMER_NAME |
+-------------+------------+
| transaction | NANOSECOND |
+-------------+------------+
• 트랜잭션 경계(한계)
MySQL Server에서 트랜잭션은 다음 문으로 명시 적으로 시작됩니다.
거래 시작 | 시작 | XA 시작 | XA 시작
트랜잭션도 암시적으로 시작됩니다. 예를 들어, 자동 커밋 시스템 변수가 활성화되면 각 명령문의 시작은 새 트랜잭션을 시작합니다.
자동 커밋이 비활성화되면 커밋 된 트랜잭션 다음의 첫 번째 문이 새 트랜잭션의 시작을 표시합니다. 후속 문은 커밋 될 때까지 트랜잭션의 일부입니다.
트랜잭션은 다음 문으로 명시 적으로 끝납니다.
START TRANSACTION | BEGIN | XA START | XA BEGIN
트랜잭션은 DDL 문, 잠금 문 및 서버 관리 문을 실행하여 암시 적으로 종료됩니다.
다음 설명에서 START TRANSACTION에 대한 참조는 BEGIN, XA START 및 XA BEGIN에도 적용됩니다. 마찬가지로 COMMIT 및 ROLLBACK에 대한 참조는 각각 XA COMMIT 및 XA ROLLBACK에 적용됩니다.
성능 스키마는 서버와 유사하게 트랜잭션 경계를 정의합니다. 트랜잭션 이벤트의 시작과 끝은 서버의 해당 상태 전환과 거의 일치합니다.
- 명시적으로 시작된 트랜잭션의 경우 트랜잭션 이벤트는 START TRANSACTION 문의 처리 중에 시작됩니다.
- 암시적으로 시작된 트랜잭션의 경우 트랜잭션 이벤트는 이전 트랜잭션이 종료 된 후 트랜잭션 엔진을 사용하는 첫 번째 문에서 시작됩니다.
- 명시적으로 또는 암시적으로 종료된 트랜잭션의 경우 COMMIT 또는 ROLLBACK 처리 중에 서버가 활성 트랜잭션 상태에서 전환되면 트랜잭션 이벤트가 종료됩니다.
이 접근 방식에는 미묘한 의미가 있습니다.
- 성능 스키마의 트랜잭션 이벤트는 해당 START TRANSACTION, COMMIT 또는 ROLLBACK 문과 관련된 명령문 이벤트를 완전히 포함하지 않습니다. 트랜잭션 이벤트와 이러한 명령문 사이에 약간의 타이밍 겹침이 있습니다.
- 비 트랜잭션 엔진에서 작동하는 명령문은 연결된 트랜잭션 상태에 영향을 주지 않습니다. 암시적 트랜잭션의 경우 트랜잭션 이벤트는 트랜잭션 엔진을 사용하는 첫번째 명령문으로 시작됩니다.
즉, START TRANSACTION 이후에도 비 트랜잭션 테이블에서 독점적으로 작동하는 명령문이 무시됩니다.
이해를 위해 다음 시나리오를 확인해봅니다.
1. SET autocommit = OFF;
2. CREATE TABLE t1 (a INT) ENGINE = InnoDB;
3. START TRANSACTION; -- Transaction 1 START
4. INSERT INTO t1 VALUES (1), (2), (3);
5. CREATE TABLE t2 (a INT) ENGINE = MyISAM; -- Transaction 1 COMMIT
-- (implicit; DDL forces commit)
6. INSERT INTO t2 VALUES (1), (2), (3); -- Update nontransactional table
7. UPDATE t2 SET a = a + 1; -- ... and again
8. INSERT INTO t1 VALUES (4), (5), (6); -- Write to transactional table
-- Transaction 2 START (implicit)
9. COMMIT; -- Transaction 2 COMMIT
서버의 관점에서 트랜잭션 1은 테이블 t2가 생성될 때 종료됩니다. 트랜잭션 2는 비 트랜잭션 테이블에 대한 중간 업데이트에도 불구하고 트랜잭션 테이블에 액세스할 때까지 시작되지 않습니다.
성능 스키마의 관점에서 트랜잭션 2는 서버가 활성 트랜잭션 상태로 전환될 때 시작됩니다.
명령문 6과 7은 서버가 이진 로그에 트랜잭션을 기록하는 방식과 일치하는 트랜잭션 2의 경계내에 포함되지 않습니다.
• 거래 계측
세 가지 속성이 트랜잭션을 정의합니다.
- 액세스 모드(읽기 전용, 읽기 쓰기)
- 격리 수준(SERIALIZABLE, REPEATABLE READ 등)
- 암시적(autocommit 활성화 됨) 또는 명시적 (autocommit 비활성화 됨)
트랜잭션 계측의 복잡성을 줄이고 수집된 트랜잭션 데이터가 완전하고 의미있는 결과를 제공하도록 보장하기 위해 모든 트랜잭션은 액세스 모드, 격리 수준 또는 자동 커밋 모드와 독립적으로 계측됩니다.
트랜잭션 히스토리를 선택적으로 조사하려면 트랜잭션 이벤트 테이블 ACCESS_MODE, ISOLATION_LEVEL 및 AUTOCOMMIT의 속성 컬럼을 사용합니다.
트랜잭션 계측 비용은 사용자, 계정, 호스트 또는 스레드 (클라이언트 연결)에 따라 트랜잭션 계측을 활성화하거나 비활성화하는등 다양한 방법으로 줄일 수 있습니다.
• 트랜잭션 및 중첩 이벤트
트랜잭션 이벤트의 상위는 트랜잭션을 시작한 이벤트입니다. 명시적으로 시작된 트랜잭션의 경우 START TRANSACTION 및 COMMIT AND CHAIN문이 포함됩니다.
암시적으로 시작된 트랜잭션의 경우 이전 트랜잭션이 종료된 후 트랜잭션 엔진을 사용하는 첫 번째 문입니다.
일반적으로 트랜잭션은 COMMIT 및 ROLLBACK과 같이 트랜잭션을 명시적으로 종료하는 명령문을 포함하여 트랜잭션 중에 시작된 모든 이벤트의 최상위 상위 레벨입니다.
예외는 DDL문과 같이 암시적으로 트랜잭션을 종료하는 문입니다. 이 경우 새로운 명령문이 실행되기 전에 현재 트랜잭션이 커밋되어야 합니다.
• Transactions 및 Stored Programs
트랜잭션 및 저장된 프로그램 이벤트는 다음과 같이 관련됩니다.
- Stored Procedures
저장 프로시저는 트랜잭션과 독립적으로 작동합니다. 저장 프로시저는 트랜잭션 내에서 시작될 수 있으며 트랜잭션은 저장 프로 시저 내에서 시작되거나 종료 될 수 있습니다.
트랜잭션 내에서 호출되는 경우 저장 프로시저는 부모 트랜잭션을 강제로 커밋한 다음 새 트랜잭션을 시작하는 명령문을 실행할 수 있습니다.
저장 프로 시저가 트랜잭션 내에서 시작되면 해당 트랜잭션은 저장 프로시저 이벤트의 부모입니다.
저장 프로 시저에 의해 트랜잭션이 시작된 경우 저장 프로시저는 트랜잭션 이벤트의 부모입니다.
- Stored Functions
저장된 함수는 명시적 또는 암시적 커밋 또는 롤백을 유발하지 못하도록 제한됩니다. 저장된 함수 이벤트는 상위 트랜잭션 이벤트내에 있을 수 있습니다.
- Triggers
트리거는 연관된 테이블에 액세스하는 명령문의 일부로 활성화되므로 트리거 이벤트의 부모는 항상 트리거를 활성화하는 명령문입니다.
트리거는 트랜잭션의 명시적 또는 암시적 커밋 또는 롤백을 유발하는 문을 실행할 수 없습니다.
- Scheduled Events
예약된 이벤트 본문의 명령문 실행은 새 연결에서 발생합니다. 상위 트랜잭션 내에 예약된 이벤트를 중첩할 수 없습니다.
• 트랜잭션 및 세이브포인트
세이브 포인트 명령문은 별도의 명령문 이벤트로 기록됩니다. 트랜잭션 이벤트에는 트랜잭션중에 발행된 SAVEPOINT, ROLLBACK TO SAVEPOINT 및 RELEASE SAVEPOINT 명령문에 대한 별도의 카운터가 포함됩니다.
• 트랜잭션 및 오류
트랜잭션 내에서 발생하는 오류 및 경고는 명령문 이벤트에 기록되지만 해당 트랜잭션 이벤트에는 기록되지 않습니다. 여기에는 비 트랜잭션 테이블에 대한 롤백 또는 GTID 일관성 오류와 같은 트랜잭션 관련 오류 및 경고가 포함됩니다.
▶︎ events_transactions_current 테이블
각 스레드에 대한 현재 트랜잭션 이벤트.
events_transactions_current 테이블에는 현재 트랜잭션 이벤트가 포함됩니다. 테이블은 스레드의 가장 최근 모니터링된 트랜잭션 이벤트의 현재 상태를 보여주는 스레드당 하나의 행을 저장하므로
테이블 크기를 구성하기위한 시스템 변수가 없습니다.
트랜잭션 이벤트 행을 포함하는 테이블 중에서 events_transactions_current가 가장 기본입니다. 트랜잭션 이벤트 행을 포함하는 다른 테이블은 현재 이벤트에서 논리적으로 파생됩니다.
예를 들어 events_transactions_history 및 events_transactions_history_long 테이블은 각각 스레드당 최대행 수까지, 그리고 모든 스레드에서 전역 적으로 종료된 가장 최근 트랜잭션 이벤트의 모음입니다.
• 주요컬럼
- THREAD_ID, EVENT_ID
이벤트와 연관된 스레드 및 이벤트가 시작될 때 스레드 현재 이벤트 번호. 함께 취해진 THREAD_ID 및 EVENT_ID 값은 행을 고유하게 식별합니다. 두 행에 동일한 값 쌍이 없습니다.
- END_EVENT_ID
이 컬럼은 이벤트가 시작될 때 NULL로 설정되고 이벤트가 종료될 때 스레드 현재 이벤트 번호로 업데이트됩니다.
- EVENT_NAME
이벤트가 수집된 계측기의 이름입니다. 이것은 setup_instruments 테이블의 NAME 값입니다.
- STATE
현재 트랜잭션 상태입니다. 값은 ACTIVE (START TRANSACTION 또는 BEGIN 후), COMMITTED (COMMIT 후) 또는 ROLLED BACK (ROLLBACK 후)입니다.
- TRX_ID
미사용.
- GTID
GTID 컬럼에는 gtid_next 값이 포함되며, ANONYMOUS, AUTOMATIC 또는 UUID : NUMBER 형식을 사용하는 GTID중 하나일 수 있습니다. 모든 일반 클라이언트 트랜잭션인 gtid_next = AUTOMATIC을 사용하는 트랜잭션의 경우 트랜잭션이 커밋되고 실제 GTID가 할당되면 GTID컬럼이 변경됩니다. gtid_mode가 ON 또는 ON_PERMISSIVE이면 GTID컬럼이 트랜잭션의 GTID로 변경됩니다. gtid_mode가 OFF 또는 OFF_PERMISSIVE이면 GTID컬럼이 ANONYMOUS로 변경됩니다.
- XID_FORMAT_ID, XID_GTRID 및 XID_BQUAL
XA 트랜잭션 식별자의 요소입니다.
- XA_STATE
XA 트랜잭션의 상태입니다. 값은 ACTIVE(XA START 후), IDLE(XA END 후), PREPARED(XA PREPARE 후), ROLLED BACK(XA ROLLBACK 후) 또는 COMMITTED(XA COMMIT 후)입니다.
복제본에서 동일한 XA 트랜잭션이 서로 다른 스레드에서 서로 다른 상태로 events_transactions_current테이블에 나타날 수 있습니다. 이는 XA트랜잭션이 준비된 직후에 복제 적용자 스레드에서 분리되고 복제본의 모든 스레드에 의해 커밋되거나 롤백될 수 있기 때문입니다. events_transactions_current 테이블은 스레드에서 가장 최근에 모니터링된 트랜잭션 이벤트의 현재 상태를 표시하고 스레드가 유휴 상태일 때 이 상태를 업데이트하지 않습니다. 따라서 XA 트랜잭션은 다른 스레드에서 처리된 후에도 원래 적용자 스레드에 대해 여전히 PREPARED 상태로 표시될 수 있습니다. 여전히 PREPARED 상태이고 복구해야하는 XA 트랜잭션을 확실하게 식별하려면 성능 스키마 트랜잭션 테이블이 아닌 XA RECOVER 문을 사용합니다.
- SOURCE
이벤트를 생성한 계측된 코드가 포함된 소스 파일의 이름과 계측이 발생한 파일의 줄 번호입니다. 이를 통해 소스를 확인하여 관련된 코드를 정확히 확인할 수 있습니다.
- TIMER_START, TIMER_END, TIMER_WAIT
이벤트 타이밍 정보. 이 값의 단위는 피코초(1 조분의 1 초)입니다. TIMER_START 및 TIMER_END값은 이벤트 타이밍이 시작되고 종료된 시기를 나타냅니다. TIMER_WAIT는 이벤트 경과시간(기간)입니다.
이벤트가 완료되지 않은 경우 TIMER_END는 현재 타이머 값이고 TIMER_WAIT는 지금까지 경과한 시간입니다(TIMER_END−TIMER_START).
TIMED=NO인 계측기에서 이벤트가 생성되면 타이밍 정보가 수집되지 않고 TIMER_START, TIMER_END 및 TIMER_WAIT는 모두 NULL입니다.
- ACCESS_MODE
트랜잭션 액세스 모드입니다. 값은 READ WRITE 또는 READ ONLY입니다.
- ISOLATION_LEVEL
트랜잭션 격리 수준입니다. 값은 REPEATABLE READ, READ COMMITTED, READ UNCOMMITTED 또는 SERIALIZABLE입니다.
- 자동 커밋
트랜잭션이 시작될 때 autcommit 모드가 활성화되었는지 여부.
- NUMBER_OF_SAVEPOINTS, NUMBER_OF_ROLLBACK_TO_SAVEPOINT, NUMBER_OF_RELEASE_SAVEPOINT
트랜잭션중에 발행된 SAVEPOINT, ROLLBACK TO SAVEPOINT 및 RELEASE SAVEPOINT 명령문의 수.
- OBJECT_INSTANCE_BEGIN
미사용.
- NESTING_EVENT_ID
이 이벤트가 중첩되는 이벤트의 EVENT_ID 값입니다.
- NESTING_EVENT_TYPE
중첩 이벤트 유형입니다. 값은 TRANSACTION, STATEMENT, STAGE 또는 WAIT입니다.(트랜잭션을 중첩할 수 없기 때문에 TRANSACTION이 나타나지 않습니다.)
• Tuncate Table 허용 여부
events_transactions_current 테이블에는 TRUNCATE TABLE이 허용됩니다. 행을 제거합니다.
▶︎ events_transactions_history 테이블 : 스레드별로 종료된 가장 최근 트랜잭션 이벤트.
events_transactions_history 테이블에는 스레드별로 종료된 N개의 최근 트랜잭션 이벤트가 포함됩니다. 트랜잭션 이벤트는 종료될 때까지 테이블에 추가되지 않습니다.
테이블에 주어진 스레드에 대한 최대 행 수가 포함된 경우 해당 스레드에 대한 새 행이 추가될때 가장 오래된 스레드 행이 삭제됩니다. 스레드가 종료되면 모든행이 삭제됩니다.
성능 스키마는 서버 시작 중에 N값을 자동으로 조정합니다. 스레드당 행 수를 명시적으로 설정하려면 서버 시작시 performance_schema_events_transactions_history_size 시스템 변수를 설정합니다.
▶︎ events_transactions_history_long 테이블 : 전역 적으로(모든 스레드에서) 종료된 가장 최근 트랜잭션 이벤트.
events_transactions_history_long 테이블에는 모든 스레드에서 전역적으로 종료된 N개의 최근 트랜잭션 이벤트가 포함됩니다. 트랜잭션 이벤트는 종료될 때까지 테이블에 추가되지 않습니다.
테이블이 가득차면 어느 스레드가 어느 행을 생성했는지에 관계없이 새 행이 추가될 때 가장 오래된 행이 삭제됩니다.
성능 스키마는 서버 시작시 N의 값이 자동으로 조정됩니다. 테이블 크기를 명시적으로 설정하려면 서버시작시 performance_schema_events_transactions_history_long_size 시스템 변수를 설정합니다.
▶︎ Transaction Summary 테이블
성능 스키마는 현재 및 최근 트랜잭션 이벤트를 수집하기위한 테이블을 유지하고 해당 정보를 요약 테이블에 집계합니다.
트랜잭션 이벤트 요약 정보의 예 :
mysql> SELECT *
FROM performance_schema.events_transactions_summary_global_by_event_name
LIMIT 1\G
*************************** 1. row ***************************
EVENT_NAME: transaction
COUNT_STAR: 5
SUM_TIMER_WAIT: 19550092000
MIN_TIMER_WAIT: 2954148000
AVG_TIMER_WAIT: 3910018000
MAX_TIMER_WAIT: 5486275000
COUNT_READ_WRITE: 5
SUM_TIMER_READ_WRITE: 19550092000
MIN_TIMER_READ_WRITE: 2954148000
AVG_TIMER_READ_WRITE: 3910018000
MAX_TIMER_READ_WRITE: 5486275000
COUNT_READ_ONLY: 0
SUM_TIMER_READ_ONLY: 0
MIN_TIMER_READ_ONLY: 0
AVG_TIMER_READ_ONLY: 0
MAX_TIMER_READ_ONLY: 0
각 트랜잭션 요약 테이블에는 테이블이 이벤트를 집계하는 방법을 나타내는 하나 이상의 그룹화 열이 있습니다. 이벤트 이름은 setup_instruments 테이블의 이벤트 장비 이름을 참조합니다.
- events_transactions_summary_by_account_by_event_name에는 USER, HOST 및 EVENT_NAME 열이 있습니다. 각 행은 지정된 계정 (사용자 및 호스트 조합) 및 이벤트 이름에 대한 이벤트를 요약합니다.
- events_transactions_summary_by_host_by_event_name에는 HOST 및 EVENT_NAME 열이 있습니다. 각 행은 지정된 호스트 및 이벤트 이름에 대한 이벤트를 요약합니다.
- events_transactions_summary_by_thread_by_event_name에는 THREAD_ID 및 EVENT_NAME 열이 있습니다. 각 행은 주어진 스레드 및 이벤트 이름에 대한 이벤트를 요약합니다.
- events_transactions_summary_by_user_by_event_name에는 USER 및 EVENT_NAME 열이 있습니다. 각 행은 주어진 사용자 및 이벤트 이름에 대한 이벤트를 요약합니다.
- events_transactions_summary_global_by_event_name에는 EVENT_NAME 열이 있습니다. 각 행은 주어진 이벤트 이름에 대한 이벤트를 요약합니다.
각 거래 요약 테이블에는 집계 된 값이 포함 된 다음 요약 열이 있습니다.
- COUNT_STAR, SUM_TIMER_WAIT, MIN_TIMER_WAIT, AVG_TIMER_WAIT, MAX_TIMER_WAIT
이러한 열은 트랜잭션 요약 테이블이 events_waits_current가 아니라 events_transactions_current에서 이벤트를 집계한다는 점을 제외하고는 대기 이벤트 요약 테이블 (24.12.15.1 절“대기 이벤트 요약 테이블”참조)에있는 동일한 이름의 열과 유사합니다. 이 열은 읽기-쓰기 및 읽기 전용 트랜잭션을 요약합니다.
- COUNT_READ_WRITE, SUM_TIMER_READ_WRITE, MIN_TIMER_READ_WRITE, AVG_TIMER_READ_WRITE, MAX_TIMER_READ_WRITE
이들은 COUNT_STAR 및 xxx_TIMER_WAIT 열과 유사하지만 읽기-쓰기 트랜잭션 만 요약합니다. 트랜잭션 액세스 모드는 트랜잭션이 읽기 / 쓰기 또는 읽기 전용 모드로 작동하는지 여부를 지정합니다.
- COUNT_READ_ONLY, SUM_TIMER_READ_ONLY, MIN_TIMER_READ_ONLY, AVG_TIMER_READ_ONLY, MAX_TIMER_READ_ONLY
이는 COUNT_STAR 및 xxx_TIMER_WAIT 열과 유사하지만 읽기 전용 트랜잭션 만 요약합니다. 트랜잭션 액세스 모드는 트랜잭션이 읽기 / 쓰기 또는 읽기 전용 모드로 작동하는지 여부를 지정합니다.
• Tuncate Table 허용 여부
TRUNCATE TABLE은 트랜잭션 요약 테이블에 허용됩니다. 다음과 같은 효과가 있습니다.
- 계정, 호스트 또는 사용자별로 집계되지 않은 요약 테이블의 경우 잘림은 행을 제거하지 않고 요약 컬럼을 0으로 재설정합니다.
- 계정, 호스트 또는 사용자별로 집계된 요약 테이블의 경우 잘림은 연결이 없는 계정, 호스트 또는 사용자에 대한 행을 제거하고 나머지 행에 대해 요약 컬럼을 0으로 재설정합니다.
또한 계정, 호스트, 사용자 또는 스레드별로 집계되는 각 트랜잭션 요약 테이블은 종속 된 연결 테이블의 절단 또는 events_transactions_summary_global_by_event_name의 절단에 의해 내재적으로 절단됩니다.
• 트랜잭션 집계 규칙
트랜잭션 이벤트 수집은 격리 수준, 액세스 모드 또는 자동 커밋 모드에 관계없이 발생합니다.
트랜잭션 이벤트 수집은 빈 트랜잭션을 포함하여 서버에서 시작된 중단되지 않은 모든 트랜잭션에 대해 발생합니다.
읽기-쓰기 트랜잭션은 일반적으로 읽기 전용 트랜잭션보다 리소스 집약적이므로 트랜잭션 요약 테이블에는 읽기-쓰기 및 읽기 전용 트랜잭션에 대한 별도의 집계 컬럼이 포함됩니다.
리소스 요구 사항은 트랜잭션 격리 수준에 따라 다를 수도 있습니다. 단, 서버 당 하나의 격리 수준만 사용한다고 가정하면 격리 수준별 집계는 제공되지 않습니다.
▣ Performance Schema 목차.
[MySQL] Performance Schema 소개 및 사용방법
[MySQL] Performance Schema 상태 모니터링
[MySQL] Performance Schema 설정 테이블 - Setup 및 Instance 테이블
[MySQL] Performance Schema 모니터링 테이블 - Wait Event 및 Lock 테이블
[MySQL] Performance Schema 모니터링 테이블 - Stage Event 테이블
[MySQL] Performance Schema 모니터링 테이블 - Statement Event 테이블
[MySQL] Performance Schema 모니터링 테이블 - Transaction 테이블
[MySQL] Performance Schema 모니터링 테이블 - Connection 및 Connection Attribute 테이블
[MySQL] Performance Schema 모니터링 테이블 - User, 시스템, 상태 및 기타 테이블
[MySQL] Performance Schema 모니터링 테이블 - Summary(요약) 테이블
[MySQL] Performance Schema 모니터링 테이블 - Replication 테이블
'Databases > MySQL' 카테고리의 다른 글
[MySQL] Performance Schema 모니터링 테이블 - User, 시스템, 상태 및 기타 테이블 (0) | 2021.01.24 |
---|---|
[MySQL] Performance Schema 모니터링 테이블 - Connection 및 Connection Attribute 테이블 (0) | 2021.01.24 |
[MySQL] Performance Schema 모니터링 테이블 - Statement Event 테이블 (0) | 2021.01.24 |
[MySQL] Performance Schema 모니터링 테이블 - Stage Event 테이블 (0) | 2021.01.24 |
[MySQL] Performance Schema 모니터링 테이블 - Wait Event 및 Lock 테이블 (0) | 2021.01.24 |