

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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 (如下範例所示) 以判斷每個資料庫、資料表、分割或欄位所配置的磁碟區塊數。每個資料區塊都使用 1 MB。您也可以使用 [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  | integer  | 資料庫 ID。 | 
| name  | character(72)  | 資料表名稱. | 
| 分割  | integer  | 配置至資料表的資料分割。 | 
| col  | integer  | 欄位的以零為起始的索引。您建立的每個資料表皆附加三個隱藏欄位：INSERT\_XID、DELETE\_XID 及 ROW\_ID (OID)。包含 3 個使用者定義欄位的資料表包含 6 個實際欄位，使用者定義的欄位的內部編號為 0、1 及 2。在此範例中，INSERT\_XID、DELETE\_XID 及 ROW\_ID 欄位的編號分別為 3、4 及 5。 | 
| tbl  | integer  | 表格 ID。 | 
| blocknum  | integer  | 資料區塊的 ID。 | 
| num\_values  | integer  | 區塊所包含的值的數量。 | 
| minvalue  | bigint  | 區塊所包含的值下限。 | 
| maxvalue  | bigint  | 區塊所包含的值上限。 | 
| sb\_pos  | integer  | 磁碟上的超級區塊位置的內部識別碼。 | 
| pinned  | integer  | 區塊是否固定至記憶體做為預載的一部分。0 = false；1 = true。預設為 false。 | 
| on\_disk  | integer  | 區塊是否已自動儲存於磁碟。0 = false；1 = true。預設為 false。 | 
| modified  | integer  | 區塊是否已修改。0 = false；1 = true。預設為 false。 | 
| hdr\_modified  | integer  | 區塊標頭是否已修改。0 = false；1 = true。預設為 false。 | 
| unsorted  | integer  | 區塊是否未排序。0 = false；1 = true。預設為 true。 | 
| tombstone  | integer  | 供內部使用。 | 
| preferred\_diskno  | integer  | 區塊應處於開啟狀態的磁碟數量 (無論磁碟是否故障)。一旦磁碟修復，區塊將移回該磁碟。 | 
| temporary  | integer  | 無論區塊是否包含暫存資料，例如來自暫存資料表或中繼查詢結果。0 = false；1 = true。預設為 false。 | 
| newblock  | integer  | 指出區塊是否是新的 (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 的最後三列會供隱藏的中繼資料欄位使用。) 

```
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)
```