• 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. 최적화 및 인덱스
    1. MySQL의 인덱스의 사용 방식
    2. Primary Key 사용
    3. Foreign Key 사용
    4. 컬럼 인덱스
    5. 멀티 컬럼 인덱스
    6. 인덱스 사용량 확인
    7. InnoDB와 MyISAM 인덱스 통계 수집
    8. B 트리 인덱스와 해시 인덱스의 비교
    4. 데이터베이스 구조의 최적화
    5. InnoDB 테이블의 최적화
    6. MyISAM 테이블의 최적화
    7. MEMORY 테이블 최적화
    8. 쿼리 실행 계획의 이해
    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.3.4 컬럼 인덱스

가장 일반적인 인덱스 유형은 단일 열이 데이터 구조에 그 컬럼의 값의 복사본을 저장하고 해당 컬럼 값이있는 행을 빠르게 조회 할 수 있습니다. B 트리 데이터 구조로 인덱스는 WHERE 절의 = , > , ≤ , BETWEEN , IN 등의 연산자에 대응하는 특정 값, 값 세트 또는 값의 범위를 신속하게 찾을 수 있습니다.

테이블 당 최대 인덱스 수와 인덱스의 최대 길이는 스토리지 엔진에 대해 정의됩니다. 제 15 장 "대체 스토리지 엔진" 을 참조하십시오. 모든 스토리지 엔진은 테이블 당 16 개 이상의 인덱스와 256 바이트 이상의 총 인덱스 길이를 지원합니다. 대부분의 스토리지 엔진은 제한이 높게 설정되어 있습니다.

프리픽스 인덱스

인덱스 지정으로 col_name ( N ) 구문을 사용하여 문자열 컬럼의 선두의 N 문자 만 사용하는 인덱스를 만들 수 있습니다. 이와 같이 컬럼 값의 프리픽스 만의 인덱스를 만들면 인덱스 파일을 상당히 줄일 수 있습니다. BLOB 또는 TEXT 컬럼에 인덱스 설정하는 경우 인덱스 프리픽스 길이를 지정해야합니다. 예 :

 CREATE TABLE test (blob_col BLOB, INDEX (blob_col (10)));

프리픽스는 최대 1000 바이트 ( innodb_large_prefix 을 설정하지 않는 한, InnoDB 테이블의 경우 767 바이트)입니다.

참고

프리픽스의 제한은 바이트 단위로 측정되지만, CREATE TABLE 문에서 프리픽스 길이는 문자로 해석됩니다. 멀티 바이트 문자 집합을 사용하는 컬럼의 프리픽스 길이를 지정하는 경우 이것을 고려하십시오.

FULLTEXT 인덱스

FULLTEXT 인덱스 생성도 가능합니다. 이들은 전체 텍스트 검색에 사용됩니다. InnoDB 와 MyISAM 스토리지 엔진 만 CHAR , VARCHAR 및 TEXT 컬럼에 대해서만 FULLTEXT 인덱스를 지원하고 있습니다. 인덱스 설정은 항상 컬럼 전체에 대해서 행해져 컬럼 접두어 인덱싱은 지원되지 않습니다. 자세한 내용은 섹션 12.9 "전체 텍스트 검색 함수" 를 참조하십시오.

최적화는 단일 InnoDB 테이블에 대한 특정 유형의 FULLTEXT 쿼리에 적용됩니다. 이러한 특성을 가진 쿼리는 특히 효율적입니다.

  • 문서 ID 또는 문서 ID와 검색 순위 만 반환 FULLTEXT 쿼리.

  • 일치하는 행을 점수의 내림차순으로 정렬하고 LIMIT 절을 적용하여 상위 N 개의 일치하는 행을 검색하는 FULLTEXT 쿼리. 이 최적화를 적용하려면 WHERE 절없이 내림차순 하나의 ORDER BY 절에만이 있어야합니다.

  • 검색어와 일치하는 행의 COUNT(*) 값 만 검색하고 추가 WHERE 절이없는 FULLTEXT 쿼리. WHERE 절을 > 0 비교 연산자를 사용하지 않고, WHERE MATCH( text ) AGAINST (' other_text ') 와 코딩합니다.

공간 인덱스

공간 데이터 형식에 인덱스를 만들 수 있습니다. 현재 MyISAM 만 공간 형에 R 트리 인덱스를 지원하고 있습니다. 다른 스토리지 엔진은 공간 형 인덱스 설정에 B 트리를 사용합니다 ( ARCHIVE 를 제외합니다. 이것은 공간 형 인덱싱을 지원하지 않습니다).

MEMORY 스토리지 엔진의 인덱스

MEMORY 스토리지 엔진은 기본적으로 HASH 인덱스를 사용하지만, BTREE 인덱스도 지원하고 있습니다.

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