개요 MySQL InnoDB에는 보조 인덱스 I/O 성능 향상을 위한 체인지 버퍼가 존재합니다. 해당 버퍼를 통해 어떻게 보조 인덱스 I/O 최적화가 진행되는지 알아보겠습니다. 체인지 버퍼 체인지 버퍼는 보조 인덱스 페이지가 버퍼 풀에 없을 때 변경 사항을 캐시하는 특수한 데이터 구조입니다. INSERT, UPDATE 등 DML 작업으로 인해 발생할 수 있는 버퍼링된 변경 사항은 추후 읽기 작업에 의해 페이지가 버퍼 풀에 로드될 때 병합됩니다. 클러스터형 인덱스의 경우 정렬된 순서로 삽입되는 반면 보조 인덱스의 경우 일반적으로 유니크하지 않고 정렬되지 않은 채 처리가 되기 때문에 최신 상태로 유지하기 위해서는 상당한 I/O 가 발생하게됩니다. 이러한 단점을 극복하고자 DML 작업이 발생할 경우 실시간으로..
[MySQL] Innodb Change Buffer를 통한 보조 인덱스 I/O 개선
개요 MySQL InnoDB에는 보조 인덱스 I/O 성능 향상을 위한 체인지 버퍼가 존재합니다. 해당 버퍼를 통해 어떻게 보조 인덱스 I/O 최적화가 진행되는지 알아보겠습니다. 체인지 버퍼 체인지 버퍼는 보조 인덱스 페이지가 버퍼 풀에 없을 때 변경 사항을 캐시하는 특수한 데이터 구조입니다. INSERT, UPDATE 등 DML 작업으로 인해 발생할 수 있는 버퍼링된 변경 사항은 추후 읽기 작업에 의해 페이지가 버퍼 풀에 로드될 때 병합됩니다. 클러스터형 인덱스의 경우 정렬된 순서로 삽입되는 반면 보조 인덱스의 경우 일반적으로 유니크하지 않고 정렬되지 않은 채 처리가 되기 때문에 최신 상태로 유지하기 위해서는 상당한 I/O 가 발생하게됩니다. 이러한 단점을 극복하고자 DML 작업이 발생할 경우 실시간으로..
2022.05.19