[MySQL] Performance Schema 모니터링 테이블 - Transaction 테이블

■ 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 소개 및 사용방법

■ Performance Schema 소개 MySQL 성능 스키마는 낮은 수준에서 MySQL 서버 실행을 모니터링하는 기능입니다. 성능 스키마에는 다음과 같은 특성이 있습니다. - 성능 스키마는 런타임에 서버의 내부 실

myinfrabox.tistory.com

[MySQL] Performance Schema 상태 모니터링

 

[MySQL] Performance Schema 상태 모니터링

■ performance schema 상태 모니터링. 다음과 같은 쿼리로 performance schema의 상태를 확인할 수 있습니다. mysql> SHOW STATUS LIKE 'perf%'; +-----------------------------------------------+-------+ | V..

myinfrabox.tistory.com

[MySQL] Performance Schema 설정 테이블 - Setup 및 Instance 테이블

 

[MySQL] Performance Schema 설정 테이블 - Setup 및 Instance 테이블

■ Setup Tables setup_actors : 새로운 포그라운드 스레드(foreground threads : 접속 클라이언트 혹은 서버)에 대한 모니터링을 초기화하는 방법 setup_consumers : 이벤트 정보를 보내고 저장할 수 있는 대상 s..

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Wait Event 및 Lock 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Wait Event 및 Lock 테이블

■ Wait Event 테이블 종류 성능 스키마 도구는 시간이 걸리는 이벤트를 대기합니다. 이벤트 계층 구조 내에서 대기 이벤트는 트랜잭션 이벤트 내에 중첩되는 명령문 이벤트 내에 중첩되는 스테이

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Stage Event 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Stage Event 테이블

■ Stage Event 테이블 성능 스키마 단계는 명령문 구문 분석, 테이블 열기 또는 파일 정렬 작업 수행과 같은 명령 실행 프로세스 중 단계입니다. 스테이지는 SHOW PROCESSLIST에 의해 표시되거나 INFORMATI

myinfrabox.tistory.com

 

[MySQL] Performance Schema 모니터링 테이블 - Statement Event 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Statement Event 테이블

■ Statement Event 테이블 성능 스키마 도구 명령문 실행. 명령문 이벤트는 이벤트 계층 구조의 높은 수준에서 발생합니다. 이벤트 계층 구조 내에서 대기 이벤트는 트랜잭션 이벤트 내에 중첩되는

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Transaction 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Transaction 테이블

■ Transaction 테이블 성능 스키마는 트랜잭션을 계측합니다. 이벤트 계층 구조 내에서 대기 이벤트는 트랜잭션 이벤트 내에 중첩되는 명령문 이벤트 내에 중첩되는 스테이지 이벤트 내에 중첩됩

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Connection 및 Connection Attribute 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Connection 및 Connection Attribute 테이블

■ Connection 테이블 클라이언트가 MySQL 서버에 연결하면 특정 사용자 이름과 특정 호스트에서 연결됩니다. 성능 스키마는 이러한 연결에 대한 통계를 제공하고 다음 표를 사용하여 계정 (사용자

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - User, 시스템, 상태 및 기타 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - User, 시스템, 상태 및 기타 테이블

■ User-Defined Variable 테이블 성능 스키마는 사용자 정의 변수를 노출하는 user_variables_by_thread 테이블을 제공합니다. 이들은 특정 세션 내에서 정의된 변수이며 이름 앞에 @문자를 포함합니다. user_v

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Summary(요약) 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Summary(요약) 테이블

■ Summary(요약) 테이블 ▶︎ objects_summary_global_by_type 테이블 성능 스키마는 개체 대기 이벤트를 집계하기 위해 objects_summary_global_by_type 테이블을 유지합니다. 예제 개체 대기 이벤트 요약 정보..

myinfrabox.tistory.com

[MySQL] Performance Schema 모니터링 테이블 - Replication 테이블

 

[MySQL] Performance Schema 모니터링 테이블 - Replication 테이블

■ Replication 테이블 성능 스키마는 복제 정보를 노출하는 테이블을 제공합니다. 이는 SHOW SLAVE STATUS 문에서 사용할 수있는 정보와 비슷하지만 테이블 형식으로 표현하는 것이 더 접근하기 쉽고

myinfrabox.tistory.com

 

Designed by JB FACTORY