• 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. 쿼리 실행 계획의 이해
    1. EXPLAIN으로 쿼리 최적화
    2. EXPLAIN 출력 포맷
    3. EXPLAIN EXTENDED 출력 포맷
    4. 쿼리 성능 추정
    5. 쿼리 최적화 제어
    9. 버퍼링과 캐시
    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.8.4 쿼리 성능 추정

대부분의 경우, 디스크 시크를 카운트하여 쿼리 성능을 추정 할 수 있습니다. 작은 테이블의 경우 일반적으로 1 번 디스크 검색에서 레코드를 찾을 수 있습니다 (인덱스가 캐시되어있을 가능성이 높기 때문에). 큰 테이블의 경우 B 트리 인덱스를 사용하여 그것을 추정 할 수 있지만 행을 찾기 위해 이렇게 많은 탐색이 필요합니다. log( row_count ) / log( index_block_length / 3 * 2 / ( index_length + data_pointer_length )) + 1 .

MySQL은 인덱스 블록이 통상 1,024 바이트 데이터 포인터는 4 바이트입니다. 3 바이트의 키 값 길이 ( MEDIUMINT 크기)의 500,000 행 테이블의 경우,이 공식은 log(500,000)/log(1024/3*2/(3+4)) + 1 = 4 탐색을 나타냅니다.

이 인덱스는 약 500,000 * 7 * 3/2 = 5.2M 바이트 (2/3 일반적인 인덱스 버퍼 충전율 것으로 가정)의 스토리지가 필요하기 때문에 인덱스를 많이 메모리에 넣어 가능 성이 높고 데이터를 읽고 행을 찾기 위해 하나 나 둘 개의 호출 만하면됩니다.

그러나 쓰기는 새로운 인덱스 값의 위치를​​ 찾기 위해 4 개의 탐색 요청 및 인덱스 업데이트 및 행 쓰기에 보통 2 번의 탐색이 필요합니다.

이전 설명은 응용 프로그램의 성능이 log N 씩 서서히 감소하는 것을 의미하는 것은 아닙니다. OS 또는 MySQL 서버가 모든 캐시되는 한, 테이블이 커져도 조금 느려질뿐입니다. 데이터가 캐시 할 수 없을 정도로 커질 응용 프로그램이 디스크 검색 (이것은 log N N 씩 증가)에 의해서만 제한 될 때까지 현저하게 느려지기 시작합니다. 이를 방지하려면 데이터 증가에 맞춰 키 캐시를 늘립니다. MyISAM 테이블에서 키 캐시 크기는 key_buffer_size 시스템 변수에 의해 제어됩니다. 섹션 8.11.2 "서버 파라미터의 튜닝」 을 참조하십시오.

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