18.4.10 ndb_desc - NDB 테이블 표시
ndb_desc은 하나 이상의 NDB 테이블의 자세한 설명을 출력합니다.
사용법
ndb_desc -cconnection_stringtbl_name-ddb_name[options] ndb_desc -cconnection_stringindex_name-ddb_name-ttbl_name
출력 예
USE test;
CREATE TABLE fish (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
length_mm INT(11) NOT NULL,
weight_gm INT(11) NOT NULL,
PRIMARY KEY pk (id),
UNIQUE KEY uk (name)
) ENGINE=NDB;
INSERT INTO fish VALUES
('','guppy', 35, 2), ('','tuna', 2500, 150000),
('','shark', 3000, 110000), ('','manta ray', 1500, 50000),
('','grouper', 900, 125000), ('','puffer', 250, 2500);
ndb_desc 출력 :
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 2
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 311
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=MEMORY
weight_gm Int NOT NULL AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk$unique(name) - UniqueHashIndex
uk(name) - OrderedIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory ...
0 2 2 32768 ...
1 4 4 32768 ...
... Frag varsized memory Extent_space Free extent_space
... 32768 0 0
... 32768 0 0
NDBT_ProgramExit: 0 - OK
여러 테이블에 대한 정보는 테이블 이름을 공백으로 구분 ndb_desc를 한 번 호출하여 얻을 수 있습니다. 모든 테이블은 동일한 데이터베이스에 있어야합니다.
특정 인덱스에 대한 추가 정보를 얻으려면 다음과 같이 ndb_desc의 첫 번째 인수로 인덱스 이름을 지정하고 --table (약어 : -t ) 옵션을 사용합니다.
shell> ./ndb_desc uk -d test -t fish
-- uk --
Version: 3
Base table: fish
Number of attributes: 1
Logging: 0
Index type: OrderedIndex
Index status: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
-- IndexTable 10/uk --
Version: 3
Fragment type: FragUndefined
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: yes
Number of attributes: 2
Number of primary keys: 1
Length of frm data: 0
Row Checksum: 1
Row GCI: 1
SingleUserMode: 2
ForceVarPart: 0
FragmentCount: 4
ExtraRowGciBits: 0
ExtraRowAuthorBits: 0
TableStatus: Retrieved
-- Attributes --
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
NDB$TNODE Unsigned [64] PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY
-- Indexes --
PRIMARY KEY(NDB$TNODE) - UniqueHashIndex
NDBT_ProgramExit: 0 - OK
이렇게 인덱스를 지정하면 --extra-partition-info 및 --extra-node-info 옵션은 효과가 없습니다.
출력 Version 컬럼은 테이블의 스키마 객체 버전이 표시됩니다. 이 값의 해석은 NDB Schema Object Versions 를 참조하십시오.
Extent_space 및 Free extent_space 컬럼은 디스크에 열이있는 NDB 테이블에만 관련이 있습니다. 인 메모리 컬럼 만있는 테이블의 경우이 열은 항상 값 0 이 표시됩니다.
이러한 사용 방법을 설명하기 위해 이전 예제를 변경합니다. 먼저 필요한 디스크 데이터 객체를 다음과 같이 작성해야합니다.
CREATE LOGFILE GROUP lg_1
ADD UNDOFILE 'undo_1.log'
INITIAL_SIZE 16M
UNDO_BUFFER_SIZE 2M
ENGINE NDB;
ALTER LOGFILE GROUP lg_1
ADD UNDOFILE 'undo_2.log'
INITIAL_SIZE 12M
ENGINE NDB;
CREATE TABLESPACE ts_1
ADD DATAFILE 'data_1.dat'
USE LOGFILE GROUP lg_1
INITIAL_SIZE 32M
ENGINE NDB;
ALTER TABLESPACE ts_1
ADD DATAFILE 'data_2.dat'
INITIAL_SIZE 48M
ENGINE NDB;
(위의 진술 및 그들에 의해 생성되는 객체 내용은 섹션 18.5.12.1 "MySQL Cluster 디스크 데이터 오브젝트」 , 섹션 13.1.14 "CREATE LOGFILE GROUP 구문" 및 섹션 13.1.18 "CREATE TABLESPACE 구문" 을 참조 하십시오.)
컬럼의 2를 디스크에 저장하는 버전 fish 테이블을 작성하고 채울 수있게되었습니다 (이전 버전의 테이블이 있으면 그것을 먼저 삭제합니다).
CREATE TABLE fish (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
length_mm INT(11) NOT NULL,
weight_gm INT(11) NOT NULL,
PRIMARY KEY pk (id),
UNIQUE KEY uk (name)
) TABLESPACE ts_1 STORAGE DISK
ENGINE=NDB;
INSERT INTO fish VALUES
('','guppy', 35, 2), ('','tuna', 2500, 150000),
('','shark', 3000, 110000), ('','manta ray', 1500, 50000),
('','grouper', 900, 125000), ('','puffer', 250, 2500);
ndb_desc이 버전의 테이블에 대해 실행하면 다음 출력이 표시됩니다.
shell> ./ndb_desc -c localhost fish -d test -p
-- fish --
Version: 3
Fragment type: 9
K Value: 6
Min load factor: 78
Max load factor: 80
Temporary table: no
Number of attributes: 4
Number of primary keys: 1
Length of frm data: 321
Row Checksum: 1
Row GCI: 1
SingleUserMode: 0
ForceVarPart: 1
FragmentCount: 2
TableStatus: Retrieved
-- Attributes --
id Int PRIMARY KEY DISTRIBUTION KEY AT=FIXED ST=MEMORY AUTO_INCR
name Varchar(20;latin1_swedish_ci) NOT NULL AT=SHORT_VAR ST=MEMORY
length_mm Int NOT NULL AT=FIXED ST=DISK
weight_gm Int NOT NULL AT=FIXED ST=DISK
-- Indexes --
PRIMARY KEY(id) - UniqueHashIndex
PRIMARY(id) - OrderedIndex
uk$unique(name) - UniqueHashIndex
uk(name) - OrderedIndex
-- Per partition info --
Partition Row count Commit count Frag fixed memory ...
0 2 2 32768 ...
1 4 4 32768 ...
... Frag varsized memory Extent_space Free extent_space
... 32768 0 0
... 32768 0 0
NDBT_ProgramExit: 0 - OK
이것은 테이블 스페이스에서 테이블의 각 파티션에 1048576 바이트가 할당 그중 1044440 바이트가 추가 저장을위한 공간임을 의미합니다. 즉,이 테이블의 디스크 기반의 컬럼 데이터를 저장하기 위해 현재 파티션마다 1048576 - 1044440 = 4136 바이트가 사용되고 있습니다. Free extent_space 로 표시되는 바이트 수는 fish 테이블의 디스크 컬럼 데이터를 저장하는 데에만 사용할 수 있습니다. 따라서 INFORMATION_SCHEMA.FILES 테이블에서 선택했을 때 표시되지 않습니다.
다음 표는 ndb_desc 고유의 옵션이 포함되어 있습니다. 추가 설명이 표 다음에 있습니다. 대부분의 MySQL Cluster 프로그램 (ndb_desc 포함)에 공통되는 옵션은 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 일반적인 프로그램 옵션" 을 참조하십시오.
표 18.84이 표는 ndb_desc 프로그램의 명령 행 옵션에 대해 설명하고 있습니다
| 형식 | 설명 | 추가 또는 삭제 |
|---|---|---|
| BLOB 테이블의 파티션 정보를 출력에 포함됩니다. -p 옵션을 사용해야합니다 | 모든 MySQL 5.6 기반 자료 |
| 테이블이 들어있는 데이터베이스의 이름 | 모든 MySQL 5.6 기반 자료 |
| 파티션과 데이터 노드 매핑 출력에 포함됩니다. -p 옵션을 사용해야합니다 | 모든 MySQL 5.6 기반 자료 |
| 파티션에 대한 정보를 표시합니다 | 모든 MySQL 5.6 기반 자료 |
| 연결을 재 시도하는 횟수 (1 초 간격) | 모든 MySQL 5.6 기반 자료 |
| 인덱스를 찾아 테이블을 지정합니다. 이 옵션을 사용하면 -p 및 -n은 효과가 없으며 무시됩니다. | 모든 MySQL 5.6 기반 자료 |
| 정규화되지 않은 테이블 이름을 사용합니다 | 모든 MySQL 5.6 기반 자료 |
--blob-info,-b종속
BLOB및TEXT컬럼에 대한 정보를 포함합니다.이 옵션을 사용하는 경우
--extra-partition-info(-p) 옵션을 사용해야합니다.--database=,db_name-d테이블이 발견 될 데이터베이스를 지정합니다.
--extra-node-info,-n테이블 파티션 및 그들이 존재하는 데이터 노드 매핑에 대한 정보를 포함합니다. 이 정보는 배포 인식 메커니즘을 검증하기 위해, 그리고 MySQL Cluster에 저장되어있는 데이터에 대한보다 효율적인 애플리케이션 액세스를 지원하는 데 유용합니다.
이 옵션을 사용하는 경우
--extra-partition-info(-p) 옵션을 사용해야합니다.--extra-partition-info,-p테이블 파티션에 대한 추가 정보를 출력합니다.
--retries=,#-r연결을 중단하기 전에이 횟수만큼 연결을 시도합니다. 연결 시도가 1 초 간격으로 실행됩니다.
--table=,tbl_name-t인덱스를 찾아 테이블을 지정합니다.
--unqualified,-u정규화되지 않은 테이블 이름을 사용합니다.