최종 수정: 에
SHOW DATA
설명
SHOW DATA 문은 데이터 용량, 복제본 수, 행 수 통계 정보를 표시하는 데 사용됩니다. 이 문은 다음 기능을 제공합니다.
- 현재 데이터베이스에 있는 모든 테이블의 데이터 용량과 복제본 수를 표시합니다.
- 지정한 테이블의 구체화된 뷰에 대한 데이터 용량, 복제본 수, 행 수 통계를 표시합니다.
- 데이터베이스의 할당량 사용 현황을 표시합니다.
- 데이터 용량, 복제본 수 등을 기준으로 정렬할 수 있습니다.
구문
SHOW DATA [ FROM [<db_name>.]<table_name> ] [ ORDER BY <order_by_clause> ];
여기서 정렬 절은 다음과 같이 정의합니다.
order_by_clause:
<column_name> [ ASC | DESC ] [ , <column_name> [ ASC | DESC ] ... ]
선택적 매개변수
1. FROM [<db_name>.]<table_name>
조회할 테이블 이름을 지정합니다. 데이터베이스 이름을 포함할 수 있습니다.
이 매개변수를 지정하지 않으면 현재 데이터베이스에 있는 모든 테이블의 데이터 정보를 표시합니다.
2. ORDER BY <order_by_clause>
결과 집합의 정렬 방식을 지정합니다.
모든 열을 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 수 있습니다.
여러 열을 조합한 정렬을 지원합니다.
반환 값
쿼리 상황에 따라 다음 결과 집합을 반환합니다.
FROM절을 지정하지 않은 경우(데이터베이스 수준 정보 표시):
| 열 이름 | 설명 |
|---|---|
| DbId | 데이터베이스 ID |
| DbName | 데이터베이스 이름 |
| Size | 데이터베이스의 전체 데이터 용량 |
| RemoteSize | 원격 스토리지의 데이터 용량 |
| RecycleSize | 휴지통의 데이터 용량 |
| RecycleRemoteSize | 휴지통의 원격 스토리지 데이터 용량 |
FROM절을 지정한 경우(테이블 수준 정보 표시):
| 열 이름 | 설명 |
|---|---|
| TableName | 테이블 이름 |
| IndexName | 인덱스(구체화된 뷰) 이름 |
| Size | 데이터 크기 |
| ReplicaCount | 복제본 수 |
| RowCount | 행 수 통계(특정 테이블을 조회할 때만 표시) |
접근 제어 요구 사항
이 SQL 명령을 실행하는 사용자는 최소한 다음 권한이 있어야 합니다.
| 권한 | 객체 | 비고 |
|---|---|---|
| SELECT | 테이블 | 테이블을 조회하려면 SELECT 권한이 필요합니다. |
사용 시 참고 사항
- 데이터 용량 통계에는 모든 복제본의 전체 데이터 용량이 포함됩니다.
- 복제본 수에는 테이블의 모든 파티션과 모든 구체화된 뷰의 복제본이 포함됩니다.
- 행 수를 계산할 때는 여러 복제본 중 가장 큰 행 수를 사용합니다.
- 결과 집합의
Total행은 집계된 데이터를 나타냅니다. - 결과 집합의
Quota행은 데이터베이스에 현재 설정된 할당량을 나타냅니다. - 결과 집합의
Left행은 남은 할당량을 나타냅니다. - 각 파티션의 크기를 확인하려면
SHOW PARTITIONS명령을 사용합니다.
예제
-
모든 데이터베이스의 데이터 용량 정보 표시:
SHOW DATA;+-------+-----------------------------------+--------+------------+-------------+-------------------+
| DbId | DbName | Size | RemoteSize | RecycleSize | RecycleRemoteSize |
+-------+-----------------------------------+--------+------------+-------------+-------------------+
| 21009 | db1 | 0 | 0 | 0 | 0 |
| 22011 | regression_test_inverted_index_p0 | 72764 | 0 | 0 | 0 |
| Total | NULL | 118946 | 0 | 0 | 0 |
+-------+-----------------------------------+--------+------------+-------------+-------------------+ -
현재 데이터베이스에 있는 모든 테이블의 데이터 용량 정보 표시:
USE db1;
SHOW DATA;+-----------+-------------+--------------+
| TableName | Size | ReplicaCount |
+-----------+-------------+--------------+
| tbl1 | 900.000 B | 6 |
| tbl2 | 500.000 B | 3 |
| Total | 1.400 KB | 9 |
| Quota | 1024.000 GB | 1073741824 |
| Left | 1021.921 GB | 1073741815 |
+-----------+-------------+--------------+ -
지정한 테이블의 상세 데이터 용량 정보 표시:
SHOW DATA FROM example_db.test;+-----------+-----------+-----------+--------------+----------+
| TableName | IndexName | Size | ReplicaCount | RowCount |
+-----------+-----------+-----------+--------------+----------+
| test | r1 | 10.000MB | 30 | 10000 |
| | r2 | 20.000MB | 30 | 20000 |
| | test2 | 50.000MB | 30 | 50000 |
| | Total | 80.000MB | 90 | |
+-----------+-----------+-----------+--------------+----------+ -
복제본 수를 기준으로 내림차순 정렬하고 데이터 용량을 기준으로 오름차순 정렬:
SHOW DATA ORDER BY ReplicaCount DESC, Size ASC;+-----------+-------------+--------------+
| TableName | Size | ReplicaCount |
+-----------+-------------+--------------+
| table_c | 3.102 KB | 40 |
| table_d | .000 | 20 |
| table_b | 324.000 B | 20 |
| table_a | 1.266 KB | 10 |
| Total | 4.684 KB | 90 |
| Quota | 1024.000 GB | 1073741824 |
| Left | 1024.000 GB | 1073741734 |
+-----------+-------------+--------------+