

 从补丁 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\_QUERY\_DETAIL
<a name="SYS_QUERY_DETAIL"></a>

使用 SYS\_QUERY\_DETAIL 查看不同指标级别的查询的详细信息，每行表示有关给定指标级别的特定 WLM 查询的详细信息。此视图包含许多类型的查询，例如 DDL、DML 和实用程序命令（例如：复制和卸载）。根据查询类型，某些列可能不相关。例如，external\_scanned\_bytes 与内部表无关。

SYS\_QUERY\_DETAIL 对所有用户可见。超级用户可以查看所有行；普通用户只能查看其自己的数据。有关更多信息，请参阅 [系统表和视图中的数据可见性](cm_chap_system-tables.md#c_visibility-of-data)。

**注意**  
要验证包含已执行查询的事务是否成功提交，您需要在系统表和 `sys_transaction_history` 表之间执行联接操作。例如：  

```
SELECT 
    th.transaction_id,
    qd.query_id,
    th.status AS transaction_status
FROM 
    sys_query_detail qd
LEFT JOIN sys_query_history qh ON qd.query_id = qh.query_id
LEFT JOIN sys_transaction_history th on qh.transaction_id = th.transaction_id;
```

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


| 列名称  | 数据类型  | 描述  | 
| --- | --- | --- | 
| user\_id | integer | 提交查询的用户标识符。 | 
| query\_id | bigint | 查询标识符。 | 
| child\_query\_sequence | 整数 | 重写的用户查询的顺序，从 1 开始。 | 
| stream\_id | 整数 | 查询流的流标识符。 | 
| segment\_id | 整数 | 查询运行分段的分段标识符。 | 
| step\_id | integer | 分段中的步骤标识符。 | 
| step\_name | 文本 | 分段中的步骤名称。可能的值为 aggregate、broadcast、delete、distribute、hash、hashjoin、insert、limit、merge、nestloop、parse、return、save、scan、sort、sortlimit、unique 和 window。 | 
| table\_id | integer | 永久性表扫描的表标识符。 | 
| table\_name | character(136) | 正在操作的步骤的表名。 | 
| is\_rrscan | 字符 | 指示步骤是否为扫描步骤的值。True (t) 则表示使用了限制范围的扫描。 | 
| start\_time | timestamp | 查询步骤开始的时间。无论 metrics\_level 列中的值如何，此字段都是在段级别记录的。 | 
| end\_time | timestamp | 查询步骤完成的时间。无论 metrics\_level 列中的值如何，此字段都是在段级别记录的。 | 
| duration | bigint | 在步骤上花费的时间（微秒）。无论 metrics\_level 列中的值如何，此字段都是在段级别记录的。 | 
| 警报 | 文本 | 提示事件的描述。 | 
| input\_bytes | bigint | 当前步骤的输入字节。 | 
| input\_rows | bigint | 当前步骤的输入行。 | 
| output\_bytes | bigint | 当前步骤的输出字节。 | 
| output\_rows | bigint | 当前步骤的输出行。 | 
| blocks\_read | bigint | 步骤读取的数据块数。 | 
| blocks\_write | bigint | 步骤写入的数据块数。 | 
| local\_read\_IO | bigint | 从本地磁盘缓存中读取的数据块的数量。 | 
| remote\_read\_IO | bigint | 从远程读取的数据块数。 | 
| source | 文本 | 扫描的数据库对象的类型。只有当行的 step\_name 值为 scan 时，此列才有值。 | 
| data\_skewness | 整数 | 所有步骤间输出行分布的偏度。这是一个介于 0% 到 100% 之间的数字。该数字越大，分布越不平衡。 | 
| time\_skewness | 整数 | 所有步骤间执行时间分布的偏度。这是一个介于 0% 到 100% 之间的数字。该数字越大，分布越不平衡。 | 
| is\_active | 字符 | 步骤级别的查询状态。可能的值为“t”（表示步骤正在运行）或“f”（表示步骤已完成运行）。 | 
| spilled\_block\_local\_disk | bigint | 溢出到本地磁盘的块数。 | 
| spilled\_block\_remote\_disk | bigint | 溢出到 Amazon Simple Storage Service 的块数。 | 
| step\_attribute | character(64) | 包含相关步骤的信息。扫描步骤的可能值：multi-dimensional。 | 
| metrics\_level | character(64) | 查询的指标级别。可能值如下所示：[See the AWS documentation website for more details](http://docs.amazonaws.cn/redshift/latest/dg/SYS_QUERY_DETAIL.html) | 
| plan\_parent\_id | 整数 | 计划节点的父节点的标识符。一个父节点可以有多个子节点。例如，合并联接是针对联接表的扫描的父节点。 | 
| plan\_node\_id | 整数 | 映射到查询中的一个或多个步骤的计划节点的标识符。 | 

## 使用说明
<a name="SYS_QUERY_DETAIL-usage-notes"></a>

SYS\_QUERY\_DETAIL 可以包含步骤、流、段和子查询级别的指标。除了引用 metrics\_level 列外，还可以根据下表，通过引用 step\_id、segment\_id 和 stream\_id 字段来查看给定行显示的指标级别。


| 指标级别 | stream\_id 值 | segment\_id 值 | step\_id 值 | 
| --- | --- | --- | --- | 
| 子查询 | –1 | –1 | –1 | 
| 流 | 有效的步骤值 | –1 | –1 | 
| segment | 有效的步骤值 | 有效的步骤值 | –1 | 
| step | 有效的步骤值 | 有效的步骤值 | 有效的步骤值 | 

## 示例查询
<a name="SYS_QUERY_DETAIL-sample-queries"></a>

以下示例返回了 SYS\_QUERY\_DETAIL 的输出。

以下查询显示了步骤级别的查询元数据详细信息，包括步骤名称、input\_bytes、output\_bytes、input\_rows、output\_rows。

```
SELECT query_id,
       child_query_sequence,
       stream_id,
       segment_id,
       step_id,
       trim(step_name) AS step_name,
       duration,
       input_bytes,
       output_bytes,
       input_rows,
       output_rows
FROM sys_query_detail
WHERE query_id IN (193929)
ORDER BY query_id,
         stream_id,
         segment_id,
         step_id DESC;
```

示例输出。

```
 query_id | child_query_sequence | stream_id | segment_id | step_id | step_name  |    duration     | input_bytes | output_bytes | input_rows | output_rows
----------+----------------------+-----------+------------+---------+------------+-----------------+-------------+--------------+------------+-------------
   193929 |                    2 |         0 |          0 |       3 | hash       |           37144 |           0 |      9350272 |          0 |      292196
   193929 |                    5 |         0 |          0 |       3 | hash       |            9492 |           0 |        23360 |          0 |        1460
   193929 |                    1 |         0 |          0 |       3 | hash       |           46809 |           0 |      9350272 |          0 |      292196
   193929 |                    4 |         0 |          0 |       2 | return     |            7685 |           0 |          896 |          0 |         112
   193929 |                    1 |         0 |          0 |       2 | project    |           46809 |           0 |            0 |          0 |      292196
   193929 |                    2 |         0 |          0 |       2 | project    |           37144 |           0 |            0 |          0 |      292196
   193929 |                    5 |         0 |          0 |       2 | project    |            9492 |           0 |            0 |          0 |        1460
   193929 |                    3 |         0 |          0 |       2 | return     |           11033 |           0 |        14336 |          0 |         112
   193929 |                    2 |         0 |          0 |       1 | project    |           37144 |           0 |            0 |          0 |      292196
   193929 |                    1 |         0 |          0 |       1 | project    |           46809 |           0 |            0 |          0 |      292196
   193929 |                    5 |         0 |          0 |       1 | project    |            9492 |           0 |            0 |          0 |        1460
   193929 |                    3 |         0 |          0 |       1 | aggregate  |           11033 |           0 |       201488 |          0 |          14
   193929 |                    4 |         0 |          0 |       1 | aggregate  |            7685 |           0 |        28784 |          0 |          14
   193929 |                    5 |         0 |          0 |       0 | scan       |            9492 |           0 |        23360 |     292196 |        1460
   193929 |                    4 |         0 |          0 |       0 | scan       |            7685 |           0 |         1344 |        112 |         112
   193929 |                    2 |         0 |          0 |       0 | scan       |           37144 |           0 |      7304900 |     292196 |      292196
   193929 |                    3 |         0 |          0 |       0 | scan       |           11033 |           0 |        13440 |        112 |         112
   193929 |                    1 |         0 |          0 |       0 | scan       |           46809 |           0 |      7304900 |     292196 |      292196
   193929 |                    5 |         0 |          0 |      -1 |            |            9492 |       12288 |            0 |          0 |           0
   193929 |                    1 |         0 |          0 |      -1 |            |           46809 |       16384 |            0 |          0 |           0
   193929 |                    2 |         0 |          0 |      -1 |            |           37144 |       16384 |            0 |          0 |           0
   193929 |                    4 |         0 |          0 |      -1 |            |            7685 |       28672 |            0 |          0 |           0
   193929 |                    3 |         0 |          0 |      -1 |            |           11033 |      114688 |            0 |          0 |           0
```

要按从最常用到最不常用的顺序查看数据库中的表，请使用以下示例。将 {{sample\_data\_dev}} 替换为您自己的数据库。请注意，此查询将计算从创建集群时开始的查询数量，但当您的数据仓库空间不足时，不会保存系统视图数据。

```
SELECT table_name, COUNT (DISTINCT query_id) 
FROM SYS_QUERY_DETAIL 
WHERE table_name LIKE 'sample_data_dev%'
GROUP BY table_name
ORDER BY COUNT(*) DESC;

+---------------------------------+-------+
|           table_name            | count |
+---------------------------------+-------+
| sample_data_dev.tickit.venue    |     4 |
| sample_data_dev.myunload1.venue |     3 |
| sample_data_dev.tickit.listing  |     1 |
| sample_data_dev.tickit.category |     1 |
| sample_data_dev.tickit.users    |     1 |
| sample_data_dev.tickit.date     |     1 |
| sample_data_dev.tickit.sales    |     1 |
| sample_data_dev.tickit.event    |     1 |
+---------------------------------+-------+
```

 以下示例显示了单个 WLM 查询的不同指标级别。

```
SELECT query_id, child_query_sequence, stream_id, segment_id, step_id, step_name, start_time, end_time, metrics_level 
FROM sys_query_detail 
WHERE query_id = 1553 AND step_id = -1 
ORDER BY stream_id, segment_id, step_id;

 query_id | child_query_sequence | stream_id | segment_id | step_id | step_name |         start_time         |          end_time          | metrics_level 
----------+----------------------+-----------+------------+---------+-----------+----------------------------+----------------------------+---------------
     1553 |                    1 |        -1 |         -1 |      -1 |           | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.847838 | child query
     1553 |                    1 |         0 |         -1 |      -1 |           | 2024-10-17 02:28:49.814721 | 2024-10-17 02:28:49.835609 | stream
     1553 |                    1 |         0 |          0 |      -1 |           | 2024-10-17 02:28:49.824677 | 2024-10-17 02:28:49.830372 | segment
     1553 |                    1 |         1 |         -1 |      -1 |           | 2024-10-17 02:28:49.835624 | 2024-10-17 02:28:49.845773 | stream
     1553 |                    1 |         1 |          1 |      -1 |           | 2024-10-17 02:28:49.84088  | 2024-10-17 02:28:49.842388 | segment
     1553 |                    1 |         1 |          2 |      -1 |           | 2024-10-17 02:28:49.835926 | 2024-10-17 02:28:49.844396 | segment
     1553 |                    1 |         2 |         -1 |      -1 |           | 2024-10-17 02:28:49.846949 | 2024-10-17 02:28:49.847838 | stream
     1553 |                    1 |         2 |          3 |      -1 |           | 2024-10-17 02:28:49.847013 | 2024-10-17 02:28:49.847485 | segment
(8 rows)
```