SYS_QUERY_DETAIL
使用 SYS_QUERY_DETAILS 在步骤级别查看查询的详细信息。每一行代表特定 WLM 查询的一个步骤,其中包含详细信息。此视图包含许多类型的查询,例如 DDL、DML 和实用程序命令(例如:复制和卸载)。根据查询类型,某些列可能不相关。例如,external_scanned_bytes 与内部表无关。
SYS_QUERY_DETAIL 对所有用户可见。超级用户可以查看所有行;普通用户只能查看其自己的数据。有关更多信息,请参阅 系统表和视图中的数据可见性。
表列
列名称 | 数据类型 | 描述 |
---|---|---|
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 | 时间戳 | 查询步骤开始的时间。 |
end_time | 时间戳 | 查询步骤完成的时间。 |
duration | bigint | 在步骤上花费的时间(微秒)。 |
警报 | 文本 | 提示事件的描述。 |
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 | 从远程读取的数据块数。 |
源 | 文本 | 扫描的数据库对象的类型。只有当行的 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 。 |
示例查询
以下示例返回了 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 | +---------------------------------+-------+