• 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 프로그램
  • 1. MySQL 프로그램 개요
    2. MySQL 프로그램 사용
    3. MySQL 서버와 서버 시작 프로그램
    4. 설치 관련 프로그램
    5. 클라이언트 프로그램
    6. MySQL 관리 프로그램 및 유틸리티 프로그램
    1. innochecksum - 오프라인 InnoDB 파일 체크섬 유틸리티
    2. myisam_ftdump - 전체 텍스트 인덱싱 정보보기
    3. myisamchk - MyISAM 테이블 유지 보수 유틸리티
    1. myisamchk 일반 옵션
    2. myisamchk의 체크 옵션
    3. myisamchk의 복구 옵션
    4. 기타 myisamchk 옵션
    5. myisamchk에 의한 테이블 정보 검색
    6. myisamchk 메모리 사용량
    4. myisamlog - MyISAM 로그 파일의 내용보기
    5. myisampack - 압축 된 읽기 전용 MyISAM 테이블의 생성
    6. mysql_config_editor - MySQL 구성 유틸리티
    7. mysqlaccess - 액세스 권한을 확인하는 클라이언트
    8. mysqlbinlog - 바이너리 로그 파일을 처리하기위한 유틸리티
    9. mysqldumpslow - 슬로우 쿼리 로그 파일의 요약
    10. mysqlhotcopy - 데이터베이스 백업 프로그램
    11. mysql_convert_table_format - 지정된 스토리지 엔진을 사용하는 테이블의 변환
    12. mysql_find_rows - 파일에서 SQL 문을 추출
    13. mysql_fix_extensions - 테이블 파일 확장명의 정규화
    14. mysql_setpermission - 부여 테이블에 허가를 대화식으로 설정
    15. mysql_waitpid - 프로세스를 종료하고 종료를 대기
    16. mysql_zap - 패턴과 일치하는 프로세스를 강제 종료
    7. MySQL 프로그램 개발 유틸리티
    8. 기타 프로그램
  • 5. MySQL 서버관리
  • 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 새로운 기능

4.6.3.5 myisamchk에 의한 테이블 정보 검색

MyISAM 테이블 정보 또는 통계를 얻으려면 다음과 같은 명령을 사용합니다. 이 명령의 출력은이 섹션의 나머지 부분에서 설명합니다.

  • myisamchk -d tbl_name

    myisamchk를 "describe 모드"로 실행하고 테이블 정보를 생성합니다. 외부 잠금이 해제되어있는 MySQL 서버를 시작하는 경우에는 myisamchk는 실행 중에 업데이트가있는 테이블에 대해 오류를보고 할 수 있습니다. 그러나 describe 모드에서는 myisamchk는 테이블을 변경하지 않기 때문에 데이터가 손상 될 위험은 없습니다.

  • myisamchk -dv tbl_name

    -v 를 추가하면 myisamchk는 고급 모드에서 실행되는 테이블에 대해 더 많은 정보를 생성합니다. -v 를 다시 사용하면 더 많은 정보가 생성됩니다.

  • myisamchk -eis tbl_name

    테이블에서 가장 중요한 정보 만 표시합니다. 이 작업은 테이블 전체를 읽어야하므로 시간이 걸립니다.

  • myisamchk -eiv tbl_name

    이것은 -eis 와 비슷하지만 진행 과정이 표시됩니다.

tbl_name 인수는 섹션 4.6.3 "myisamchk - MyISAM 테이블 유지 보수 유틸리티" 에서 설명하는 바와 같이, MyISAM 테이블의 이름 또는 색인 파일 이름 중 하나입니다. 여러 tbl_name 인수를 지정할 수 있습니다.

person 이라는 이름의 테이블 구조가 다음과 같이되어 있다고합니다. (다음에 나타내는 myisamchk의 출력 예에서 일부 값이 더 작고 출력 형식에 적합 할 수 있도록, MAX_ROWS 테이블 옵션이 포함되어 있습니다.)

 CREATE TABLE person
 (
   id INT NOT NULL AUTO_INCREMENT,
   last_name VARCHAR (20) NOT NULL,
   first_name VARCHAR (20) NOT NULL,
   birth DATE,
   death DATE,
   PRIMARY KEY (id)
   INDEX (last_name, first_name)
   INDEX (birth)
 ) MAX_ROWS = 1000000;

또한 테이블의 데이터 파일 및 인덱스 파일의 크기는 다음과 같이되어 있다고합니다.

 -rw-rw ---- 1 mysql mysql 9347072 Aug 19 11:47 person.MYD
 -rw-rw ---- 1 mysql mysql 6066176 Aug 19 11:47 person.MYI

myisamchk -dvv의 출력 예 :

 MyISAM file : person
 Record format : Packed
 Character set : latin1_swedish_ci (8)
 File-version : 1
 Creation time : 2009-08-19 16:47:41
 Recover time : 2009-08-19 16:47:56
 Status : checked, analyzed, optimized keys
 Auto increment key : 1 Last value : 306688
 Data records : 306688 Deleted blocks : 0
 Datafile parts : 306688 Deleted data : 0
 Datafile pointer (bytes) : 4 Keyfile pointer (bytes) : 3
 Datafile length : 9347072 Keyfile length : 6066176
 Max datafile length : 4294967294 Max keyfile length : 17179868159
 Recordlength : 54

 table description :
 Key Start Len Index Type Rec / key Root Blocksize
 1 2 4 unique long 1 99328 1024
 2 6 20 multip. varchar prefix 512 3563520 1024
     27 20 varchar 512
 3 48 3 multip. uint24 NULL 306688 6065152 1024

 Field Start Length Nullpos Nullbit Type
 1 1 1
 2 2 4 no zeros
 3 6 21 varchar
 4 27 21 varchar
 5 48 3 1 no zeros
 6 51 3 1 2 no zeros

myisamchk가 생성하는 정보의 유형에 대한 설명입니다. "Keyfile"은 인덱스 파일입니다. "레코드 '와'행 ','필드 '와'열 '은 각각 동의어입니다.

테이블 정보의 처음 부분에 다음 값이 포함됩니다.

  • MyISAM file

    MyISAM (인덱스) 파일의 이름입니다.

  • Record format

    테이블의 행을 저장하는 데 사용되는 형식. 위의 예에서는 Fixed length 를 사용하고 있습니다. 다른 값은 Compressed 와 Packed 가 있습니다. ( Packed 는 SHOW TABLE STATUS 보고서에서 Dynamic 로보고 될 것으로 대응합니다.)

  • Chararacter set

    테이블의 기본 문자 세트.

  • File-version

    MyISAM 형식의 버전. 현재 항상 1입니다.

  • Creation time

    언제 데이터 파일이 생성 되었는가?

  • Recover time

    인덱스 파일 / 데이터 파일이 마지막으로 언제 다시 구성 되었는가?

  • Status

    테이블의 상태 플래그. 가능한 값은 crashed , open , changed , analyzed , optimized keys 및 sorted index pages 입니다.

  • Auto increment key , Last value

    테이블의 AUTO_INCREMENT 컬럼과 연관된 키 번호 및 컬럼에 대해 가장 최근에 생성 된 값입니다. 그런 열이없는 경우이 필드는 표시되지 않습니다.

  • Data records

    테이블 내의 행수.

  • Deleted blocks

    삭제 된 블록에서 공간이 아직 예약되어 있지만 수. 테이블을 최적화하고이 공간을 최소화 할 수 있습니다. 섹션 7.6.4 "MyISAM 테이블 최적화" 를 참조하십시오.

  • Datafile parts

    동적 행 형식으로, 이것은 데이터 블록의 수를 나타냅니다. 조각난 레코드가없는 최적화 된 테이블에서는 이것은 Data records 와 동일합니다.

  • Deleted data

    미사용 삭제 된 데이터의 바이트 수. 테이블을 최적화하고이 공간을 최소화 할 수 있습니다. 섹션 7.6.4 "MyISAM 테이블 최적화" 를 참조하십시오.

  • Datafile pointer

    데이터 파일 포인터의 크기 (바이트 단위). 일반적으로 2,3,4 또는 5 바이트입니다. 대부분의 테이블은 2 바이트로 대응할 수 있지만, 이것은 아직 MySQL에서 제어 할 수 없습니다. 고정 테이블에서는 이것은 행의 주소입니다. 동적 테이블에서 이는 바이트 주소입니다.

  • Keyfile pointer

    인덱스 파일 포인터의 크기 (바이트 단위). 일반적으로 1, 2 또는 3 바이트입니다. 대부분의 테이블은 2 바이트로 대응할 수 있지만, 이것은 MySQL이 자동으로 계산됩니다. 항상 블록 주소입니다.

  • Max datafile length

    테이블 데이터 파일이 어디까지 길게 될 수 있을까 (바이트 단위).

  • Max keyfile length

    테이블 인덱스 파일이 어디까지 길게 될 수 있을까 (바이트 단위).

  • Recordlength

    각 행이 사용하는 공간 (바이트 단위).

출력 table description 부분은 테이블의 모든 키의 목록이 포함됩니다. myisamchk는 각각의 키에 대한 낮은 수준 정보를 표시합니다.

  • Key

    이 키의 번호. 이 값은 키의 첫 번째 컬럼에만 표시됩니다. 이 값이 누락 된 경우 행은 여러 카라무키의 2 번째 이후의 컬럼에 대응합니다. 예제 테이블에서 두 번째 인덱스에 대해 두 개의 table description 줄 수 있습니다. 이것은 두 부분으로 구성된 다중 인덱스임을 보여줍니다.

  • Start

    인덱스의이 부분이 행의 어디에서 시작 되는가?

  • Len

    인덱스의이 부분의 길이. 압축 된 번호는 이것은 항상 컬럼 전체 길이 인 것입니다. 문자열은 문자열 컬럼의 프리픽스를 인덱싱 할 수 있기 때문에 인덱스 된 컬럼의 전체 길이보다 짧은 경우가 있습니다. 다중 키의 총 길이는 모든 키 부분의 Len 값의 합계입니다.

  • Index

    키 값이 인덱스에 여러 번 존재할 수 있는지. 가능한 값은 unique 또는 multip (multiple)입니다.

  • Type

    인덱스의이 부분의 데이터 형식입니다. packed , stripped , 또는 empty 의 값 중 하나의 MyISAM 데이터 형식입니다.

  • Root

    루트 인덱스 블록의 주소.

  • Blocksize

    각 인덱스 블록의 크기. 기본적으로 1024이지만,이 값은 MySQL이 소스에서 빌드되는 경우 컴파일시 변경할 수 있습니다.

  • Rec/key

    이것은 최적화 프로그램에서 사용되는 통계입니다. 이 인덱스 값 당 몇 줄이 있는지를 나타냅니다. 고유 인덱스는 값은 항상 1입니다. 이것은 테이블의로드 (또는 큰 변경) 다음에 myisamchk -a으로 업데이트 될 수 있습니다. 전혀 업데이트되지 않으면 기본값 30가 지정됩니다.

출력의 마지막 부분은 각 컬럼의 정보를 보여줍니다.

  • Field

    컬럼 번호.

  • Start

    테이블의 행에서 컬럼 바이트 위치.

  • Length

    컬럼의 길이 (바이트 단위).

  • Nullpos , Nullbit

    NULL 를 잡히는 컬럼에서는 MyISAM 은 NULL 값을 바이트의 플래그로 저장합니다. Null에있는 열이 몇인지하여이를 위해 사용되는 바이트가 1 이상있을 수 있습니다. Nullpos 값 및 Nullbit 값이 비어 있지 않은 경우는 컬럼이 NULL 여부를 나타내는 플래그가 어떤 바이트 및 비트에 포함되는지를 보여줍니다.

    NULL 플래그를 저장하는 데 사용되는 위치와 바이트 필드 1 행에 표시됩니다. person 테이블에는 5 개의 컬럼 밖에 없는데 Field 행이 6 개있는 것은이 때문입니다.

  • Type

    데이터 형식입니다. 이 값은 다음 중 하나의 디스크립터를 포함 할 수 있습니다.

    • constant

      모든 행은 같은 값을 가지고 있습니다.

    • no endspace

      엔드 스페이스를 보존하지 않습니다.

    • no endspace, not_always

      엔드 스페이스를 보존하지 않으며 모든 값에 엔드 스페이스 압축을하지 않습니다.

    • no endspace, no empty

      엔드 스페이스를 보존하지 않습니다. 빈 값을 저장하지 않습니다.

    • table-lookup

      컬럼은 ENUM 으로 변환되었습니다.

    • zerofill( N )

      값 중 최상위 N 바이트는 항상 0이며 저장되지 않습니다.

    • no zeros

      제로를 저장하지 않습니다.

    • always zero

      제로 값은 1 비트를 사용하여 저장됩니다.

  • Huff tree

    열 관련있는 허프만 트리의 수.

  • Bits

    허프만 트리로 사용되는 비트 수.

Huff tree 필드 및 Bits 필드는 테이블이 myisampack로 압축되어있는 경우에 표시됩니다. 이 정보의 예는 섹션 4.6.5 "myisampack - 압축 된 읽기 전용 MyISAM 테이블 생성" 을 참조하십시오.

myisamchk -eiv의 출력 예

 Checking MyISAM file : person
 Data records : 306688 Deleted blocks : 0
 - check file-size
 - check record delete-chain
 No recordlinks
 - check key delete-chain
 block_size 1024 :
 - check index reference
 - check data record references index : 1
 Key : 1 : Keyblocks used : 98 % Packed : 0 % Max levels : 3
 - check data record references index : 2
 Key : 2 : Keyblocks used : 99 % Packed : 97 % Max levels : 3
 - check data record references index : 3
 Key : 3 : Keyblocks used : 98 % Packed : -14 % Max levels : 3
 Total : Keyblocks used : 98 % Packed : 89 %

 - check records and index references
*** LOTS OF ROW NUMBERS DELETED ***

 Records : 306688 M.recordlength : 25 Packed : 83 %
 Recordspace used : 97 % Empty space : 2 % Blocks / Record : 1.00
 Record blocks : 306688 Delete blocks : 0
 Record data : 7934464 Deleted data : 0
 Lost space : 256512 Linkdata : 1156096

 User time 43.08, System time 1.68
 Maximum resident set size 0, Integral resident set size 0
 Non-physical pagefaults 0, Physical pagefaults 0, Swaps 0
 Blocks in 0 out 7 Messages in 0 out 0, Signals 0
 Voluntary context switches 0, Involuntary context switches 0
 Maximum memory usage : 1046926 bytes (1023k)

myisamchk -eiv의 출력에는 다음 정보가 포함됩니다.

  • Data records

    테이블 내의 행수.

  • Deleted blocks

    삭제 된 블록에서 공간이 아직 예약되어 있지만 수. 테이블을 최적화하고이 공간을 최소화 할 수 있습니다. 섹션 7.6.4 "MyISAM 테이블 최적화" 를 참조하십시오.

  • Key

    키 번호.

  • Keyblocks used

    키 블록의 몇 퍼센트를 사용하고 있는가? 테이블이 myisamchk으로 재구성 된지 얼마 안된 경우는 값이 매우 높고 (이론적 인 최대 값에 매우 근접)입니다.

  • Packed

    MySQL은 일반적인 접미사를 가진 키 값의 팩을 시도합니다. 이것은 CHAR 컬럼과 VARCHAR 컬럼의 인덱스에만 사용할 수 있습니다. 왼쪽에 유사한 부분이있는 인덱싱 된 긴 문자열에서 사용되는 공간을 따라서 크게 줄일 수있는 경우가 있습니다. 상기의 예에서는 두 번째 키는 길이가 40 바이트에서 97 %의 공간 절약이 실현되고 있습니다.

  • Max levels

    이 키의 B 트리의 깊이. 키 값이 긴 대형 테이블에서 값이 커집니다.

  • Records

    테이블 내의 행수.

  • M.recordlength

    평균 유키나가. 고정 길이 행을 가진 테이블의 모든 행이 동일한 길이이기 때문에 이것은 정확한 행의 길이입니다.

  • Packed

    MySQL은 문자열의 마지막에서 공백을 제거합니다. Packed 값은 이렇게함으로써 달성 된 감소 비율을 나타냅니다.

  • Recordspace used

    데이터 파일의 몇 퍼센트를 사용하고 있는가?

  • Empty space

    데이터 파일의 몇 퍼센트가 사용되지 않는.

  • Blocks/Record

    행당 평균 블록 수 (즉, 단편화 된 행이 몇 개의 링크로 구성되는지). 고정 형식의 테이블에서이 값은 항상 1.0입니다. 이 값은 가능한 한 1.0에 가깝도록하십시오. 너무 커질 경우, 테이블을 재구성 할 수 있습니다. 섹션 7.6.4 "MyISAM 테이블 최적화" 를 참조하십시오.

  • Recordblocks

    사용 된 블록 (링크) 수. 고정 형식 테이블에서는 이것은 행수와 동일합니다.

  • Deleteblocks

    삭제 된 블록 (링크) 수.

  • Recorddata

    데이터 파일에서 사용 된 바이트 수.

  • Deleted data

    데이터 파일에서 삭제 된 (사용하지 않는) 바이트 수.

  • Lost space

    행이 더 짧은 길이로 업데이트되면 일부 공간이 없어집니다. 이것은 그런 손실의 합계 (바이트 단위)입니다.

  • Linkdata

    동적 테이블 형식이 사용되는 경우 행의 조각은 포인터 (각각 4-7 바이트)에 연결됩니다. Linkdata 는 이런 포인터 모두가 사용하는 스토리지 용량의 합계입니다.


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