

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# SYS\_SERVERLESS\_USAGE
<a name="SYS_SERVERLESS_USAGE"></a>

使用 SYS\_SERVERLESS\_USAGE 查看资源的 Amazon Redshift Serverless 使用情况的详细信息。此系统视图不适用于预置 Amazon Redshift 集群。

此视图包含无服务器使用情况摘要，包括用于处理查询的计算容量数量以及以 1 分钟粒度使用的 Amazon Redshift 托管式存储量。计算容量以 Redshift 处理单元 (RPU) 为单位衡量，并按每秒计量以 RPU 秒为单位运行的工作负载。RPU 用于处理对数据仓库中加载数据的查询、从 Amazon S3 数据湖查询或使用联合查询从操作数据库访问。Amazon Redshift Serverless 可在 SYS\_SERVERLESS\_USAGE 中将信息保留 7 天时间。

有关计算成本计费的示例，请参阅 [Amazon Redshift Serverless 的计费](https://docs.amazonaws.cn/redshift/latest/mgmt/serverless-billing.html)。

SYS\_SERVERLESS\_USAGE 仅对超级用户可见。有关更多信息，请参阅 [系统表和视图中的数据可见性](cm_chap_system-tables.md#c_visibility-of-data)。

## 表列
<a name="SYS_SERVERLESS_USAGE-table-columns"></a>


| 列名称  | 数据类型  | 描述  | 
| --- | --- | --- | 
| start\_time | timestamp | 时间间隔开始的时间。 | 
| end\_time | timestamp | 时间间隔完成的时间。 | 
| compute\_seconds | double precision | 在此时间间隔内消耗的累计计算单位 (RPU) 秒数。此值考虑了为账户分配的基本 RPU 容量。 | 
| compute\_capacity | double precision | 在此时间间隔内使用的计算单位（Redshift 处理单元，简称 RPU）的平均数。compute\_capacity 值可动态更改。 | 
| data\_storage | bigint | 在此时间间隔内使用的平均数据存储空间（以 MB 为单位）。随着数据库加载或删除数据，使用的数据存储可能会动态更改。 | 
| cross\_region\_transferred\_data | bigint | 在此时间间隔内为跨区域数据共享而传输的累积数据（以字节为单位）。 | 
| charged\_seconds | bigint | 在此时间间隔内收费的累计计算单位 (RPU) 秒数。这在事务结束后计算，因此在事务运行时此值可以是 0。使用 charged\_seconds 计算 Amazon Redshift Serverless 工作组的成本。此值考虑了分配给 Amazon Redshift Serverless 工作组的 RPU 容量。 | 
| charged\_extra\_compute\_for\_automatic\_optimization\_seconds | bigint | 在此时间间隔内针对自动优化收费的累计计算单位（RPU）秒数。此值考虑了分配给 Amazon Redshift Serverless 工作组的 RPU 容量。有关使用额外计算资源运行的自动优化的更多信息，请参阅[分配额外的计算资源来执行自动数据库优化](t_extra-compute-autonomics.md)。 | 

## 使用说明
<a name="SYS_SERVERLESS_USAGE-usage_notes"></a>
+  在某些情况下，compute\_seconds 为 0，但 charged\_seconds 大于 0，反之亦然。这是由于在系统视图中记录数据的方式而导致的正常行为。为了更准确地表示无服务器使用情况的详细信息，我们建议聚合数据。

## 示例
<a name="SYS_SERVERLESS_USAGE-examples"></a>

要通过查询 charged\_seconds 获取一段时间间隔内使用的 RPU 小时数的总费用，请运行以下查询：

```
select trunc(start_time) "Day", 
(sum(charged_seconds)/3600::double precision) * <Price for 1 RPU> as cost_incurred 
from sys_serverless_usage 
group by 1 
order by 1
```

请注意，在此时间间隔内可能会有空闲时间。空闲时间不会增加使用的 RPU。