• 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 서버관리
  • 1. MySQL Server
    1. 서버 옵션 및 변수 설명
    2. 서버 구성의 기본값
    3. 서버 명령 옵션
    4. 서버 시스템 변수
    5. 시스템 변수 사용
    1. 구조적 시스템 변수
    2. 동적 시스템 변수
    6. 서버 상태 변수
    7. 서버 SQL 모드
    8. 서버 플러그인
    9. IPv6 지원
    10. 서버측 도움말
    11. 신호에 대한 서버 응답
    12. 서버 셧다운 프로세스
    2. MySQL Server 로그
    3. 하나의 시스템에서 여러 MySQL 인스턴스 실행
    4. DTrace를 사용하여 mysqld 추적
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 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 새로운 기능

5.1.5.1 구조적 시스템 변수

구조 시스템 변수는 두 가지 점에서 보통의 시스템 변수와 다릅니다.

  • 이 값은 밀접하게 관련하는 것으로 간주 서버 매개 변수를 지정하는 구성 요소가있는 구조입니다.

  • 특정 유형의 구조 변수에 여러 인스턴스가있을 수도 있습니다. 각각 다른 이름을 가지고 서버에 의해 유지되는 다른 리소스를 참조하십시오.

MySQL 5.6에서는 하나의 구조 변수 타입을 지원하며,이 구조 변수 타입은 키 캐시의 조작을 제어하는​​ 매개 변수를 지정합니다. 키 캐시 구조 변수는 다음 구성 요소가 있습니다.

  • key_buffer_size

  • key_cache_block_size

  • key_cache_division_limit

  • key_cache_age_threshold

이 섹션에서는 구조 변수를 참조하는 구문에 대해 설명합니다. 키 캐시 변수는 구문의 예에서 사용되지만, 키 캐시의 사용 방법에 대한 구체적인 내용은 섹션 8.9.2 "MyISAM 키 캐시" 에 기재되어 있습니다.

구조 변수 인스턴스의 구성 요소를 참조하려면 instance_name.component_name 형식의 복합 명을 사용할 수 있습니다. 예 :

 hot_cache.key_buffer_size
 hot_cache.key_cache_block_size
 cold_cache.key_cache_block_size

각각의 구조 시스템 변수는 default 라는 이름의 인스턴스가 항상 사전 정의됩니다. 인스턴스 이름을 붙이지 않고 구조 변수 컴퍼넌트를 참조하는 경우 default 인스턴스가 사용됩니다. 즉, default.key_buffer_size 및 key_buffer_size 는 모두 동일한 시스템 변수를 말합니다.

구조 변수 인스턴스 및 구성 요소는 다음과 같은 명명 규칙을 따릅니다.

  • 특정 유형의 구조 변수에 대해 각각의 인스턴스는 그 유형의 변수의 범위 내에서 고유 한 이름을 가져야합니다. 그러나 인스턴스 이름은 구조 변수 타입을 걸쳐 고유 할 필요는 없습니다. 예를 들어, 각 구조 변수는 default 라는 이름의 인스턴스가 있기 때문에 default 는 변수 타입을 걸쳐 고유하지 않습니다.

  • 각 구조 변수 타입의 컴퍼넌트의 이름은 모든 시스템 변수 이름에서 고유해야합니다. 이렇게하지 ​​않을 경우 (즉, 두 가지 구조 변수 타입이 구성 요소 멤버 이름을 공유하는 경우) 인스턴스 이름으로 규정되지 않는 멤버 이름에 대한 참조에 사용하는 기본 구조 변수가 명확하지 않습니다.

  • 구조 변수 인스턴스 이름이 인용되지 않은 식별자로 사용할 수없는 경우, 역 인용 부호를 사용하여 인용 된 식별자로이를 지정합니다. 예를 들어, hot-cache 는 사용하지 않지만, `hot-cache` 은 유효합니다.

  • global , session , local 유효한 인스턴스 이름이 없습니다. 이것은 비 구조적 시스템 변수를 참조하기위한 @@global. var_name 과 같은 표기법에서의 충돌을 방지합니다.

현재는 구조 변수 타입은 키 캐시의 것만이기 때문에 처음 두 규칙이 위반 될 가능성은 없습니다. 이러한 규칙은 다른 어떠한 구조 변수 타입이 미래 작성된 경우에 중요성을 띠게됩니다.

하나의 예외는 있지만, 단순한 변수 이름을 지정할 수있는 모든 컨텍스트에서 복합 명을 사용하면 구조 변수의 컴퍼넌트를 참조 할 수 있습니다. 예를 들어, 명령 행 옵션을 사용하면 구조 변수에 값을 할당 할 수 있습니다.

 shell> mysqld --hot_cache.key_buffer_size=64K

옵션 파일에서 다음 구문을 사용합니다.

 [mysqld]
 hot_cache.key_buffer_size = 64K

이 옵션에서 서버를 시작하면 기본 크기가 8M 바이트의 기본 키 캐시 외에도 크기가 64K 바이트의 hot_cache 라는 이름의 키 캐시가 생성됩니다.

다음과 같이 서버를 시작했다고합니다.

 shell> mysqld --key_buffer_size=256K \
         --extra_cache.key_buffer_size=128K \
         
--extra_cache.key_cache_block_size=2048 

이 경우 서버는 디폴트 키 캐시의 크기를 256K 바이트로 설정합니다. ( --default.key_buffer_size=256K 로 작성할 수도 있습니다.) 또한이 서버는 128K 바이트의 크기를 가진 extra_cache 라는 두 번째 키 캐시를 생성하고 테이블 인덱스 블록의 캐시 블록 버퍼의 크기를 2048 바이트로 설정합니다.

다음 예제에서는 크기의 비가 3 : 1 : 1 인 3 가지 키 캐시를 사용하여 서버를 시작합니다.

 shell> mysqld --key_buffer_size=6M \
         --hot_cache.key_buffer_size=2M \
         
--cold_cache.key_buffer_size=2M 

구조 변수 값은 런타임에 설정하고 검색 할 수 있습니다. 예를 들어, hot_cache 라는 이름의 키 캐시를 10M 바이트의 크기로 설정하려면 다음 문 중 하나를 사용합니다.

 mysql> SET GLOBAL hot_cache.key_buffer_size = 10*1024*1024;
 mysql> SET @@global.hot_cache.key_buffer_size = 10*1024*1024;

캐시 크기를 검색하려면 다음과 같이합니다.

 mysql> SELECT @@global.hot_cache.key_buffer_size;

그러나 다음 문은 작동하지 않습니다. 이 변수는 복합 명으로 해석되지 않고 LIKE 패턴 매칭 작업을 단순 문자열로 해석됩니다.

 mysql> SHOW GLOBAL VARIABLES LIKE 'hot_cache.key_buffer_size';

이것은 간단한 변수 이름을 지정 할 수있는 모든 곳에서 구조 변수를 사용할 수있는 예외입니다.

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