Skip to content
Discussion options

You must be logged in to vote

키 캐싱(Key Caching)과 버퍼 풀(Buffer Pool)은 모두 데이터베이스 성능을 향상시키는 데 사용되는 기술이지만, 각각 다른 목적과 방식으로 동작합니다.

키 캐싱: 키 캐싱은 데이터베이스의 인덱스를 더 빠르게 조회하기 위해 사용됩니다. 인덱스를 참조하는 쿼리는 해당 인덱스의 B-트리를 탐색해야 합니다. 이때 B-트리의 노드를 디스크에서 읽어와야 하므로, 디스크 I/O가 발생할 수 있습니다. 하지만 키 캐싱을 사용하면 자주 사용되는 인덱스의 B-트리 노드를 메모리에 캐시하여 디스크 I/O를 줄일 수 있습니다. MySQL에서는 MyISAM 스토리지 엔진에서 키 캐싱을 사용할 수 있습니다. MyISAM 테이블의 인덱스는 key_buffer_size 설정 값에 의해 캐시됩니다.

버퍼 풀: 버퍼 풀은 디스크에서 읽어온 데이터를 메모리에 캐시하여, 디스크 I/O를 줄여 데이터베이스 성능을 향상시킵니다. 데이터베이스의 모든 스토리지 엔진에서 사용될 수 있습니다. InnoDB 스토리지 엔진에서는 버퍼 풀이라고도 하는 InnoDB 캐시를 사용합니다. InnoDB 캐시는 데이터와 인덱스를 모두 캐시하며, innodb_buffer_pool_size 설정 값에 의해 크기를 조정할 수 있습니다.

따라서, 키 캐싱은 인덱스에 대한 캐싱 기법으로, 메모리에 색인 데이터를 저장하여 디스크 I/O를 줄이고, 버퍼 풀은 모든 데이터와 인덱스를 메…

Replies: 4 comments 1 reply

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@CODe5753
Comment options

CODe5753 Apr 9, 2023
Maintainer Author

Answer selected by CODe5753
Comment options

You must be logged in to vote
0 replies
Comment options

CODe5753
Apr 9, 2023
Maintainer Author

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
3 participants