Blog categories

Comments

[MySQL] 질의 성능 최적화를 위한 Performance Schema 조회

[MySQL] 질의 성능 최적화를 위한 Performance Schema 조회

세션 상태 초기화

FLUSH STATUS;

세션 상태 변경 조회

각종 핸들러의 상태 변화 확인

SHOW STATUS LIKE ‘%handler%’;

Row update 확인

SHOW STATUS LIKE ‘Innodb_rows_updated’;

MySQL Performance Schema

table_io_waits_summary_by_table

최근 수행중인 질의들에서 wait/io/table/sql/handler 가 질의 성능에 크게 영향을 주기 시작했다.
Mysql에는 wait 상태와 관련된 여러 대기 로드들이 있는데, 그중 io/table/sql/handler는 데이터베이스에서 질의 처리 중 발생하는 입출력 작업 (I/O: input/output)이 집중되거나 입출력 성능이 질의 처리 성능을 따라가지 못할 때 발생하는 것으로 알고 있다.
여기서 입출력 작업이란 디스크 읽기/쓰기 등의 작업을 포함한다.

table_io_waits_summary_by_table은 wait/io/tablesql/handler에서 생성된 모든 테이블 I/O wait 이벤트가 기록되어 있다.

SELECT * FROM performance_schema.table_io_waits_summary_by_table;

특정한 table에 대한 I/O event를 조회하려 한다면 WHERE 구문을 활용한다

SELECT * FROM performance_schema.table_io_waits_summary_by_table WHERE OBJECT_NAME =  '<table_name>';

질의 결과를 보면 column이 상당히 많은데, 다음과 같이 끊어서 보면 이해가 편하다

COUNT_STARSUM_TIMER_WAITMIN_TIMER_WAITAVG_TIMER_WAITMAX_TIMER_WAIT

https://dev.mysql.com/doc/mysql-perfschema-excerpt/8.0/en/performance-schema-table-io-waits-summary-by-table-table.html: [MySQL] 질의 성능 최적화를 위한 Performance Schema 조회

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

div#stuning-header .dfd-stuning-header-bg-container {background-color: #3f3f3f;background-size: cover;background-position: top center;background-attachment: initial;background-repeat: no-repeat;}#stuning-header div.page-title-inner {min-height: 350px;}