Loading...
MySQL 9.5 Reference Manual 9.5의 28.4.2 The INFORMATION_SCHEMA INNODB_BUFFER_PAGE Table의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
INNODB_BUFFER_PAGE 테이블은 InnoDB 버퍼 풀 내의 각 페이지에 대한 정보를 제공합니다.
관련 사용 정보와 예시는 Section 17.15.5, “InnoDB INFORMATION_SCHEMA Buffer Pool Tables”를 참조하십시오.
경고
INNODB_BUFFER_PAGE 테이블을 조회하면 성능에 영향을 줄 수 있습니다. 성능 영향에 대해 잘 알고 있고, 그 영향이 허용 가능하다고 판단한 경우가 아니라면 프로덕션 시스템에서 이 테이블을 조회하지 마십시오. 프로덕션 시스템의 성능에 영향을 주지 않으려면, 조사하려는 문제를 재현하고 테스트 인스턴스에서 버퍼 풀 통계를 조회하십시오.
INNODB_BUFFER_PAGE 테이블에는 다음과 같은 컬럼이 있습니다:
POOL_ID
버퍼 풀 ID입니다. 이는 여러 버퍼 풀 인스턴스를 구분하기 위한 식별자입니다.
BLOCK_ID
버퍼 풀 블록 ID입니다.
SPACE
테이블스페이스 ID입니다. INNODB_TABLES.SPACE와 동일한 값입니다.
PAGE_NUMBER
페이지 번호입니다.
PAGE_TYPE
페이지 유형입니다. 허용되는 값은 다음 표에 나와 있습니다.
Table 28.4 INNODB_BUFFER_PAGE.PAGE_TYPE 값
| Page Type | Description |
|---|---|
ALLOCATED | 새로 할당된 페이지 |
BLOB | 압축되지 않은 BLOB 페이지 |
COMPRESSED_BLOB2 | 이후(combined) comp BLOB 페이지 |
COMPRESSED_BLOB | 첫 번째 compressed BLOB 페이지 |
ENCRYPTED_RTREE | 암호화된 R-tree |
EXTENT_DESCRIPTOR | extent 디스크립터 페이지 |
FILE_SPACE_HEADER | 파일 스페이스 헤더 |
FIL_PAGE_TYPE_UNUSED | 사용되지 않음 |
IBUF_BITMAP | insert 버퍼 비트맵 |
IBUF_FREE_LIST | insert 버퍼 프리 리스트 |
IBUF_INDEX | insert 버퍼 인덱스 |
INDEX | B-tree 노드 |
INODE | 인덱스 노드 |
LOB_DATA | 압축되지 않은 LOB 데이터 |
LOB_FIRST | 압축되지 않은 LOB의 첫 번째 페이지 |
LOB_INDEX | 압축되지 않은 LOB 인덱스 |
PAGE_IO_COMPRESSED | compressed 페이지 |
PAGE_IO_COMPRESSED_ENCRYPTED | 압축 및 암호화된 페이지 |
PAGE_IO_ENCRYPTED | 암호화된 페이지 |
RSEG_ARRAY | 롤백 세그먼트 배열 |
RTREE_INDEX | R-tree 인덱스 |
SDI_BLOB | 압축되지 않은 SDI BLOB |
SDI_COMPRESSED_BLOB | compressed SDI BLOB |
SDI_INDEX | SDI 인덱스 |
SYSTEM | 시스템 페이지 |
TRX_SYSTEM | 트랜잭션 시스템 데이터 |
UNDO_LOG | undo 로그 페이지 |
UNKNOWN | 미확인(unknown) |
ZLOB_DATA | compressed LOB 데이터 |
ZLOB_FIRST | compressed LOB의 첫 번째 페이지 |
ZLOB_FRAG | compressed LOB 프래그먼트 |
ZLOB_FRAG_ENTRY | compressed LOB 프래그먼트 인덱스 |
ZLOB_INDEX | compressed LOB 인덱스 |
| Property | Value |
|---|---|
| Page Type | Description |
FLUSH_TYPE
플러시 유형입니다.
FIX_COUNT
버퍼 풀 내에서 이 블록을 사용 중인 스레드 수입니다. 값이 0이면, 블록은 제거(evict) 대상이 될 수 있습니다.
IS_HASHED
이 페이지에 대해 해시 인덱스가 구축되었는지 여부입니다.
NEWEST_MODIFICATION
가장 최근 수정의 로그 시퀀스 번호입니다.
OLDEST_MODIFICATION
가장 오래된 수정의 로그 시퀀스 번호입니다.
ACCESS_TIME
페이지의 최초 액세스 시간을 판단하는 데 사용되는 추상적인 숫자입니다.
TABLE_NAME
페이지가 속한 테이블의 이름입니다. 이 컬럼은 PAGE_TYPE 값이 INDEX인 페이지에만 적용됩니다. 서버가 아직 해당 테이블에 접근하지 않은 경우 이 컬럼은 NULL입니다.
INDEX_NAME
페이지가 속한 인덱스의 이름입니다. 클러스터드 인덱스 또는 세컨더리 인덱스 이름일 수 있습니다. 이 컬럼은 PAGE_TYPE 값이 INDEX인 페이지에만 적용됩니다.
NUMBER_RECORDS
페이지 내 레코드 수입니다.
DATA_SIZE
레코드 크기의 합계입니다. 이 컬럼은 PAGE_TYPE 값이 INDEX인 페이지에만 적용됩니다.
COMPRESSED_SIZE
compressed 페이지 크기입니다. 압축되지 않은 페이지의 경우 NULL입니다.
PAGE_STATE
페이지 상태입니다. 허용되는 값은 다음 표에 나와 있습니다.
Table 28.5 INNODB_BUFFER_PAGE.PAGE_STATE 값
| Page State | Description |
|---|---|
FILE_PAGE | 버퍼된 파일 페이지 |
MEMORY | 메인 메모리 오브젝트를 포함 |
NOT_USED | 프리 리스트에 있음 |
NULL | clean compressed 페이지, 플러시 리스트의 compressed 페이지, 버퍼 풀 watch 센티널로 사용되는 페이지 |
READY_FOR_USE | 프리 페이지 |
REMOVE_HASH | 프리 리스트에 두기 전에 해시 인덱스를 제거해야 함 |
IO_FIX
이 페이지에 대해 보류 중인 I/O가 있는지 여부입니다:
IO_NONE = 보류 중인 I/O 없음,
IO_READ = read 보류 중,
IO_WRITE = write 보류 중,
IO_PIN = 재배치 및 플러시에서 제거 불가.
IS_OLD
블록이 LRU 리스트에서 old 블록 서브리스트에 속해 있는지 여부입니다.
FREE_PAGE_CLOCK
블록이 마지막으로 LRU 리스트의 head에 배치되었을 때 freed_page_clock 카운터 값입니다. freed_page_clock 카운터는 LRU 리스트 끝에서 제거된 블록 수를 추적합니다.
IS_STALE
페이지가 오래되어(stale) 있는지 여부입니다.
1mysql> SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE LIMIT 1\G 2*************************** 1. row *************************** 3 POOL_ID: 0 4 BLOCK_ID: 0 5 SPACE: 97 6 PAGE_NUMBER: 2473 7 PAGE_TYPE: INDEX 8 FLUSH_TYPE: 1 9 FIX_COUNT: 0 10 IS_HASHED: YES 11NEWEST_MODIFICATION: 733855581 12OLDEST_MODIFICATION: 0 13 ACCESS_TIME: 3378385672 14 TABLE_NAME: `employees`.`salaries` 15 INDEX_NAME: PRIMARY 16 NUMBER_RECORDS: 468 17 DATA_SIZE: 14976 18 COMPRESSED_SIZE: 0 19 PAGE_STATE: FILE_PAGE 20 IO_FIX: IO_NONE 21 IS_OLD: YES 22 FREE_PAGE_CLOCK: 66 23 IS_STALE: NO
이 테이블은 주로 전문가 수준의 성능 모니터링이나, MySQL에 대해 성능 관련 익스텐션을 개발할 때 유용합니다.
이 테이블을 조회하려면 PROCESS 권한이 필요합니다.
이 테이블의 컬럼에 대한 추가 정보(예: 데이터 타입 및 기본값)를 보려면 INFORMATION_SCHEMA COLUMNS 테이블 또는 SHOW COLUMNS 문을 사용하십시오.
테이블, 테이블 로우, 파티션 또는 인덱스가 삭제되더라도, 연관된 페이지는 다른 데이터에 필요한 공간이 요구될 때까지 버퍼 풀에 그대로 남아 있습니다. INNODB_BUFFER_PAGE 테이블은 이 페이지들이 버퍼 풀에서 제거(evict)될 때까지 이에 대한 정보를 보고합니다. InnoDB가 버퍼 풀 데이터를 관리하는 방식에 대한 자세한 설명은 Section 17.5.1, “Buffer Pool”을 참조하십시오.
28.4.1 INFORMATION_SCHEMA InnoDB Table Reference
28.4.3 The INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU Table