• 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. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 1. 스토리지 엔진 설정
    2. MyISAM 스토리지 엔진
    3. MEMORY 스토리지 엔진
    4. CSV 스토리지 엔진
    5. ARCHIVE 스토리지 엔진
    6. BLACKHOLE 스토리지 엔진
    7. MERGE 스토리지 엔진
    1. MERGE 테이블의 장단점
    2. MERGE 테이블의 문제점
    8. FEDERATED 스토리지 엔진
    9. EXAMPLE 스토리지 엔진
    10. 다른 스토리지 엔진
    11. MySQL 스토리지 엔진 아키텍처 개요
  • 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 새로운 기능

15.7.1 MERGE 테이블의 장단점

MERGE 테이블은 다음과 같은 문제를 해결하는 데 도움이 될 수 있습니다.

  • 로그 테이블 세트를 쉽게 관리한다. 예를 들어, 다른 달의 데이터를 별도의 테이블에 넣고, myisampack를 이용하여 그 일부를 압축하여 하나의 물건으로 이용하기 위해 MERGE 테이블을 만들 수 있습니다.

  • 속도를 올린다. 큰 읽기 전용 테이블을 같은 기준으로 분할하고 각 테이블을 다른 디스크에 넣을 수 있습니다. 이와 같이 구성된 MERGE 테이블은 하나의 큰 테이블을 사용하는 것보다 속도가 상당히 빨라질 수 있습니다.

  • 보다 효율적으로 검색을 실시한다. 검색 할 대상이 정확히 알고있는 경우 한 쿼리에서 기본 테이블 하나만을 검색하고 다른 쿼리에 MERGE 테이블을 사용할 수 있습니다. 중복 테이블 세트를 사용하는 수많은 다른 MERGE 테이블을 가질 수 있습니다.

  • 보다 효율적인 복구를 실시한다. 1 개의 큰 테이블을 복구하는 것보다 MERGE 테이블에 매핑 된 개별 작은 테이블을 복구하는 것이 더 쉽습니다.

  • 많은 테이블을 순간적으로 하나의 테이블로 매핑한다. MERGE 테이블은 각 테이블의 인덱스를 이용하기 때문에 자체 인덱스를 유지 보수 할 필요가 없습니다. 그 결과, MERGE 테이블 컬렉션을 만들거나 다시 매핑을 매우 빠르게 할 수 있습니다. ( MERGE 테이블을 만들 때 인덱싱되지 않은 경우에도 인덱스의 정의를 지정해야합니다.)

  • 테이블 세트가 그들로부터 주문형 큰 테이블을 작성하려면 대신 그들로부터 주문형 MERGE 테이블을 만들 수 있습니다. 이 분이 속도가 상당히 빨라 많은 디스크 공간이 절약됩니다.

  • 운영 체제의 파일 크기 제한을 초과합니다. 개별 MyISAM 테이블은이 한계치에 제한되지만, MyISAM 테이블의 컬렉션은 제한되지 않습니다.

  • MyISAM 테이블에 매핑하는 MERGE 테이블을 정의하는 것으로, 그 단일 테이블의 별칭과 동의어를 만들 수 있습니다. 이를 행해도 특히 눈에 띄는 성능면의 영향은 없을 것입니다 (개별 읽기에 대한 몇 가지 간접 호출과 memcpy() 호출이있을뿐입니다).

MERGE 테이블의 단점은 다음과 같습니다.

  • MERGE 테이블에 동일한 MyISAM 테이블 밖에 사용할 수 없습니다.

  • MyISAM 기능 중 일부는 MERGE 테이블에서는 사용할 수 없습니다. 예를 들어, MERGE 테이블에 FULLTEXT 인덱스를 만들 수 없습니다. (기초 MyISAM 테이블에 FULLTEXT 인덱스를 만들 수 있지만, MERGE 테이블을 전체 텍스트 검색에서 검색 할 수 없습니다.)

  • MERGE 테이블이 아닌 임시이면 모든 기초 MyISAM 테이블은 비 일시적이어야합니다. MERGE 테이블이 임시 인 경우, MyISAM 테이블은 임시 테이블과 비 임시 테이블이 혼합해도 괜찮습니다.

  • MERGE 테이블은 MyISAM 테이블보다 많은 파일 디스크립터를 사용합니다. 10 개의 클라이언트가 10 개의 테이블에 매핑하는 MERGE 테이블을 사용하는 경우 서버는 (10 × 10) + 10 개의 파일 디스크립터를 사용합니다. (10 개의 클라이언트에 대해 각각 10 개의 데이터 파일 디스크립터 외에도 클라이언트간에 공유되는 10 개의 인덱스 파일 디스크립터입니다.)

  • 인덱스 읽기는 떨어집니다. 인덱스를 읽을 때 MERGE 스토리지 엔진은 모든 기초 테이블에 읽기를 실행하여 전달 된 인덱스 값에 정확히 일치하는지 확인해야합니다. 다음 인덱스 값을 읽고, MERGE 스토리지 엔진은 읽기 버퍼를 검색하여 다음 값을 찾아야합니다. 하나의 인덱스 버퍼가 소진 된 경우에만 스토리지 엔진은 다음 인덱스 블록을 읽어야합니다. 이제 MERGE 인덱스는 eq_ref 검색을 상당히 느려집니다 만, ref 검색에서는 그만큼 감소하지 않습니다. eq_ref 및 ref 에 대한 자세한 내용은 섹션 13.8.2 "EXPLAIN 구문" 을 참조하십시오.


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