MySQL Cache

귀찮Lee·2023년 2월 20일
0

DataBase / MySQL

목록 보기
10/16
post-thumbnail
post-custom-banner

◎ Cache

  • 자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소
  • 캐시는 보통 저장 공간이 작고 비용이 비싼 대신 빠른 성능을 제공함

◎ MySQL Cache의 장점

  • 따로 Disk에 접근하는 과정을 거치지 않고 바로 값을 내보냄 (속도가 빠름)
    • MySQL Query Cache 설정이 켜져있고 Query Cache를 사용하는 쿼리라면 Query Cache 조회 후 있으면 해당 정보를 내보냄
  • 쿼리의 비용이 크고, 반복적으로 호출되는 쿼리일수록 리소스 면에서 큰 이점을 얻을 수 있다.

◎ MySQL Cache의 문제점

  • 만약 대상 테이블에 대한 변경(ex. INSERT, UPDATE, DELETE)이 있었다면 묻고 따지지도 않고 기존의 캐시를 제거
    • 자주 변경되는 테이블에서는 크게 의미가 없음
    • 거의 동시에 요청하게 된다면 변경 전의 Cache에 있는 정보를 가져갈 수 있다.
  • 캐시의 키가 되는 SELECT 쿼리는 byte 값까지 동일해야 동일한 키로 간주된다. 즉, 대소문자까지 완벽히 동일해야한다.
    • 같은 내용의 캐시가 여러개 저장 될 수 있다.
  • 이론상으로는 효율에 도움이 된다고 생각했지만 실제 퍼포먼스 측면상 그렇지 않음
  • 따라서 8.0 버전 이후부터는 따로 설정해주지 않는 한 캐시를 사용해주지 아니함

◎ 참고 자료

https://jupiny.com/2021/01/10/mysql-query-cache-disadvantage/

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!
post-custom-banner

0개의 댓글