RadarURL

데이터베이스
2015.03.16 18:48

MySQL Query Cache 사용법

조회 수 762 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

MySQL에서는 반복되는 쿼리를 효율적으로 처리하기 위한 캐쉬가 존재한다.

바로 query cache인데 이는 까다로운 조건에 의해 동작하고 pruning 과정에서 meta 정보의 lock이 발생할 수 있어서 조심해서 사용해야 한다.

일단 동작하는 조건은 아래와 같다.

query cache에는 SQL문과 result set이 저장된다. 바로 이 cache에 저장되어 있는 SQL 문과 완전 동일(띄어쓰기까지..)하고 result set이 같은 쿼리가 수행될 때 query cache가 동작하고 result set을 바로 반환한다.

보통 개발자들은 위와 같은 조건을 간과하고 무작정 같은 쿼리를 수행하면 query cache를 쓰는 것으로 알고 사용한다.

그렇게 아무렇게나 쓰면 waiting query cache lock이라는 상태를 가진 프로세스로 인해 MySQL 서버가 hang이 걸릴 것이다…(오랜시간 고쳐지지 않고 있는 버그..)

이러한 상태에 빠지는 것을 방지하기 위해서는 꼭 query cache를 사용해야 하는 쿼리에만 사용하도록 옵션을 주어 사용할 수 있다.

 

query cache는 query_cache_type이라는 옵션을 통해 세 가지 타입을 제공한다.

OFF (0) ? Query cache를 사용하지 않는다.

ON (1) ? Query cache를 사용한다. (SQL_NO_CACHE 힌트를 사용하는 쿼리는 query cache를 사용하지 않는다.)

DEMAND (2) ? 선택한 쿼리만 query cache를 사용한다. (SQL_CACHE 힌트를 사용하는 쿼리는 query cache를 사용한다.)

 

위와 같은 설정은 my.cnf에서 설정 가능하고 세션 상에서도 설정이 가능하다.

# 세션에서 dynamic하게 설정하는 방법

 mysql> set global query_cache_type = 1;

 

# my.cnf에 설정 (재시작 시 적용)

[mysqld]

query_cache_type = 1;

설정은 숫자로 설정을 하거나 alias를 통해 설정이 가능하다.

 

query cache를 OFF할 경우에도 query_cache_size만큼 메모리를 할당하므로 해당 설정값을 0으로 설정하는 것을 권고한다.

query cache를 사용할 경우에는 query_cache_size를 1024의 배수로 설정해야 한다. 다른 값으로 설정할 경우 반올림하여 적용된다.

구조상 최소한 40KB 이상으로 설정해야 하며 적은 값으로 설정할 경우 warning이 발생한다.

해당 값은 아래와 같이 설정한다.

# 세션에서 dynamic하게 설정하는 방법

mysql> set global query_cache_size = 16*1024*1024;

 

# my.cnf에 설정 (재시작 시 적용)

[mysqld]

query_cache_size = 16M;



출처 : http://www.soonpenge.com/operate/12507175

TAG •
?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 931819
2506 연애 폭소클럽 제36회 - 즉석미팅 1 (김제동) file JaeSoo 2003.08.18 19019
2505 연애 폭소클럽 제37회 - 즉석미팅 2 (김제동) file JaeSoo 2003.08.18 17843
2504 연애 폭소클럽 제38회 - 방학특집 연애특강 1 (김제동) 1 file JaeSoo 2003.08.18 16395
2503 연애 폭소클럽 제39회 - 방학특집 연애특강 2 (김제동) file JaeSoo 2003.08.18 17858
2502 연애 폭소클럽 제40회 - 방학특집 연애특강 3 (김제동) file JaeSoo 2003.08.18 16866
2501 웹 프로그래밍 이미지 특정 부분에 링크 만들기 처누 2003.08.24 15650
2500 웹 프로그래밍 게시판에 자신의 FTP 자료 올리기 3 처누 2003.08.25 13162
2499 동식물 고양이 클리닉 - 고양이 기르기 file JaeSoo 2003.10.10 13729
2498 동식물 고양이 클리닉 - 고양이 품종 file JaeSoo 2003.10.10 13460
2497 동식물 고양이 클리닉 - 2개월에서 4개월령 고양이 관리 file JaeSoo 2003.10.11 13453
2496 동식물 고양이 클리닉 - 4개월에서 9개월령 고양이 관리 file JaeSoo 2003.10.11 13171
2495 동식물 고양이 클리닉 - 다자란 고양이 file JaeSoo 2003.10.13 13957
2494 동식물 고양이 클리닉 - 나이든 고양이 file JaeSoo 2003.10.13 13713
2493 동식물 고양이 클리닉 - 고양이의 영양 file JaeSoo 2003.10.13 13458
2492 동식물 고양이 먹이와 주의사항 file JaeSoo 2003.10.13 13934
2491 동식물 아기 고양이의 식사 file JaeSoo 2003.10.13 11846
2490 동식물 고양이 사료 급여량 file JaeSoo 2003.10.13 12912
2489 기타 편지봉투 쓰는 법 file JaeSoo 2003.10.21 17017
2488 웹 프로그래밍 제로보드 로그인 실패시 이유를 메세지로 알려주기 처누 2003.11.04 8484
2487 웹 프로그래밍 최근 게시물 출력시 링크게시물에 스타일시트 적용하기 처누 2003.11.06 7961
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 126 Next
/ 126


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너