

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# SVV\_DISKUSAGE
<a name="r_SVV_DISKUSAGE"></a>

Amazon Redshift는 STV\_TBL\_PERM 테이블과 STV\_BLOCKLIST 테이블을 조인하여 SVV\_DISKUSAGE 시스템 뷰를 생성합니다. SVV\_DISKUSAGE 뷰에는 데이터베이스의 테이블에 대한 데이터 할당에 관한 정보가 포함되어 있습니다.

다음 예에 나온 것처럼 SVV\_DISKUSAGE에 집계 쿼리를 사용하여 데이터베이스, 테이블, 조각 또는 열마다 할당되는 디스크 블록의 수를 결정합니다. 각 데이터 블록이 1MB씩 사용합니다. 또한 [STV\_PARTITIONS](r_STV_PARTITIONS.md)를 사용하여 디스크 사용률에 대한 요약 정보를 볼 수 있습니다.

SVV\_DISKUSAGE는 슈퍼 사용자에게만 표시됩니다. 자세한 내용은 [시스템 테이블 및 뷰에 있는 데이터의 가시성](cm_chap_system-tables.md#c_visibility-of-data) 섹션을 참조하세요.

**참고**  
이 보기는 프로비저닝된 클러스터를 쿼리할 때만 사용할 수 있습니다.

## 테이블 열
<a name="r_SVV_DISKUSAGE-table-rows"></a>


| 열 이름  | 데이터 유형  | 설명  | 
| --- | --- | --- | 
| db\_id  | 정수  | 데이터베이스 ID. | 
| 이름  | character(72)  | 테이블 이름  | 
| slice  | 정수  | 테이블에 할당되는 데이터 조각. | 
| col  | 정수  | 0부터 시작되는 열 인덱스. 생성하는 모든 테이블에는 INSERT\_XID, DELETE\_XID, ROW\_ID(OID)라는 3개의 숨겨진 열이 추가되어 있습니다. 3개의 사용자 정의 열이 있는 테이블에는 6개의 실제 열이 포함되며, 사용자 정의 열은 내부적으로 0, 1, 2로 번호 지정됩니다. 이 예에서 INSERT\_XID, DELETE\_XID 및 ROW\_ID 열은 각각 3, 4, 5로 번호 지정됩니다. | 
| tbl  | 정수  | 테이블 ID. | 
| blocknum  | 정수  | 데이터 블록의 ID. | 
| num\_values  | 정수  | 블록에 포함된 값의 수. | 
| minvalue  | bigint  | 블록에 포함된 최솟값. | 
| maxvalue  | bigint  | 블록에 포함된 최댓값. | 
| sb\_pos  | 정수  | 디스크 상의 슈퍼 블록 위치에 대한 내부 식별자. | 
| pinned  | 정수  | 블록이 사전 로드의 일환으로 메모리에 고정되어 있는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| on\_disk  | 정수  | 블록이 디스크에 자동으로 저장되는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| 수정됨  | 정수  | 블록이 수정되었는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| hdr\_modified  | 정수  | 블록 헤더가 수정되었는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| unsorted  | 정수  | 블록이 정렬되지 않았는지 여부. 0 = false, 1 = true. 기본값은 true입니다. | 
| tombstone  | 정수  | 내부용. | 
| preferred\_diskno  | 정수  | 디스크에 결함이 발생하지 않은 경우, 블록이 있어야 할 디스크 번호. 디스크가 고쳐지면 블록은 이 디스크로 다시 이동합니다. | 
| 임시  | 정수  | 블록에 임시 테이블 또는 중간 쿼리 결과 같은 임시 데이터가 포함되는지 여부. 0 = false, 1 = true. 기본값은 false입니다. | 
| newblock  | 정수  | 블록이 새것인지(true) 또는 디스크에 한번도 커밋되지 않았는지(false) 여부. 0 = false, 1 = true. | 

## 샘플 쿼리
<a name="r_SVV_DISKUSAGE-sample-queries"></a>

SVV\_DISKUSAGE는 할당된 디스크 블록당 하나의 행을 포함하므로 모든 행을 선택하는 쿼리는 매우 많은 수의 행을 반환할 수 있습니다. SVV\_DISKUSAGE에는 집계 쿼리만을 사용하는 것이 좋습니다.

USERS 테이블의 열 6(EMAIL 열)에 할당된 블록의 최대 개수를 반환합니다.

```
select db_id, trim(name) as tablename, max(blocknum)
from svv_diskusage
where name='users' and col=6
group by db_id, name;

db_id  | tablename | max
--------+-----------+-----
175857 | users     |   2
(1 row)
```

다음 쿼리는 SALESNEW라고 하는 10열짜리 큰 테이블의 모든 열에 대해 비슷한 결과를 반환합니다. (열 10부터 12까지의 마지막 3행은 숨겨진 메타데이터 열을 위한 것입니다.) 

```
select db_id, trim(name) as tablename, col, tbl, max(blocknum)
from svv_diskusage
where name='salesnew'
group by db_id, name, col, tbl
order by db_id, name, col, tbl;

db_id  | tablename  | col |  tbl   | max
--------+------------+-----+--------+-----
175857 | salesnew   |   0 | 187605 | 154
175857 | salesnew   |   1 | 187605 | 154
175857 | salesnew   |   2 | 187605 | 154
175857 | salesnew   |   3 | 187605 | 154
175857 | salesnew   |   4 | 187605 | 154
175857 | salesnew   |   5 | 187605 |  79
175857 | salesnew   |   6 | 187605 |  79
175857 | salesnew   |   7 | 187605 | 302
175857 | salesnew   |   8 | 187605 | 302
175857 | salesnew   |   9 | 187605 | 302
175857 | salesnew   |  10 | 187605 |   3
175857 | salesnew   |  11 | 187605 |   2
175857 | salesnew   |  12 | 187605 | 296
(13 rows)
```