18.4.10 ndb_desc - NDB 테이블 표시
ndb_desc은 하나 이상의 NDB
테이블의 자세한 설명을 출력합니다.
사용법
ndb_desc -cconnection_string
tbl_name
-ddb_name
[options
] ndb_desc -cconnection_string
index_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
정규화되지 않은 테이블 이름을 사용합니다.