• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 1. 최적화 개요
    2. SQL문 최적화
    3. 최적화 및 인덱스
    4. 데이터베이스 구조의 최적화
    5. InnoDB 테이블의 최적화
    6. MyISAM 테이블의 최적화
    7. MEMORY 테이블 최적화
    8. 쿼리 실행 계획의 이해
    9. 버퍼링과 캐시
    1. InnoDB 버퍼 풀
    2. MyISAM 키 캐시
    3. MySQL 쿼리 캐시
    1. 쿼리 캐시 동작
    2. 쿼리 캐시 SELECT 옵션
    3. 쿼리 캐시 구성
    4. 쿼리 캐시의 상태 및 유지 보수
    4. 준비된 문 및 저장 프로그램 캐시
    10. 잠금 작업의 최적화
    11. MySQL 서버의 최적화
    12. 성능 측정
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

8.9.3.4 쿼리 캐시의 상태 및 유지 보수

MySQL 서버에 쿼리 캐시가 존재하는지 여부를 확인하려면 다음 문을 사용합니다.

mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+

FLUSH QUERY CACHE 명령문은 쿼리 캐시를 조각하고 그 메모리의 사용을 개선 할 수 있습니다. 이 문은 캐시에서 쿼리를 삭제하지 않습니다.

RESET QUERY CACHE 문은 쿼리 캐시에서 모든 쿼리 결과를 삭제합니다. FLUSH TABLES 명령문도이를 실행합니다.

쿼리 캐시의 성능을 모니터하려면 SHOW STATUS 를 사용하여 캐시 상태 변수를 표시합니다.

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+--------+
| Variable_name           | Value  |
+-------------------------+--------+
| Qcache_free_blocks      | 36     |
| Qcache_free_memory      | 138488 |
| Qcache_hits             | 79570  |
| Qcache_inserts          | 27087  |
| Qcache_lowmem_prunes    | 3114   |
| Qcache_not_cached       | 22989  |
| Qcache_queries_in_cache | 415    |
| Qcache_total_blocks     | 912    |
+-------------------------+--------+

이러한 각 변수의 설명은 섹션 5.1.6 "서버 상태 변수" 에 있습니다. 여기에서는 그 중 일부의 사용 방법에 대해 설명합니다.

SELECT 쿼리의 총 수는 다음 식으로 얻을 수 있습니다.

   Com_select
 + Qcache_hits
 + queries with errors found by parser

Com_select 값은 다음 식으로 얻을 수 있습니다.

   Qcache_inserts
 + Qcache_not_cached
 + queries with errors found during the column-privileges check

쿼리 캐시는 가변 블록을 사용하기 때문에 Qcache_total_blocks 및 Qcache_free_blocks 에 쿼리 캐시 메모리 단편화가 나타날 수 있습니다. FLUSH QUERY CACHE 후에는 여유 블록이 하나 남아 있습니다.

캐시 된 모든 쿼리에는 적어도 2 개의 블록 (하나는 쿼리 텍스트 용으로 1 개는 쿼리 결과 용)가 필요합니다. 또한 쿼리에서 사용되는 각 테이블에 하나의 블록이 필요합니다. 그러나 여러 쿼리에서 동일한 테이블을 사용하는 경우, 하나의 테이블 블록 만 할당해야합니다.

Qcache_lowmem_prunes 상태 변수에 의해 제공되는 정보는 쿼리 캐시 크기를 조정하는 데 도움이 될 수 있습니다. 그것은 새로운 쿼리 캐시를위한 메모리를 확보하기 위해 캐시에서 삭제 된 쿼리 수를 계산합니다. 쿼리 캐시는 LRU (Least Recently Used) 전략을 사용하여 캐시에서 삭제하는 쿼리를 결정합니다. 튜닝 정보는 섹션 8.9.3.3 "쿼리 캐시 구성" 에 있습니다.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved