SYS_QUERY_EXPLAIN
Exibe o plano EXPLAIN para uma consulta que foi enviada para execução.
SYS_QUERY_TEXT é visível a todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para obter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.
Colunas da tabela
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
user_id | integer | O identificador do usuário que enviou a consulta. |
query_id | bigint | O identificador da consulta. As informações detalhadas da consulta são armazenadas em SYS_QUERY_HISTORY. |
child_query_sequence | integer | A sequência da consulta de usuário regravada, começando com 1. |
plan_node_id | integer | O identificador de um nó do plano associado a uma ou mais etapas na consulta. |
plan_parent_id | integer | O identificador do nó principal do nó do plano. Um nó principal pode ter vários nós secundários. Por exemplo, uma junção de mesclagem é o nó principal das verificações nas tabelas unidas. |
plan_node | character(400) | O texto do nó de saída de EXPLAIN. Os nós de plano que se referem à execução em nós de computação recebem o prefixo XN na saída EXPLAIN. |
node_info | character(400) | As informações sobre o qualificador e o filtro do nó de plano. Por exemplo, as condições de junção e as restrições da cláusula WHERE estão incluídas nesta coluna. |
Consultas de exemplo
O exemplo a seguir é o plano EXPLAIN de uma única consulta.
SELECT * FROM sys_query_explain WHERE query_id = 612635 ORDER_BY plan_node_id;
userid | query_id | child_query_sequence | plan_node_id | plan_parent_id | plan_node | plan_info
--------+----------+----------------------+--------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
100 | 612635 | 1 | 1 | 0 | XN Limit (cost=3604047533041.00..3604047533041.25 rows=100 width=20) |
100 | 612635 | 1 | 2 | 1 | -> XN Merge (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Merge Key: sum(b.totalprice)
100 | 612635 | 1 | 3 | 2 | -> XN Network (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Send to leader
100 | 612635 | 1 | 4 | 3 | -> XN Sort (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Sort Key: sum(b.totalprice)
100 | 612635 | 1 | 5 | 4 | -> XN HashAggregate (cost=2604047529640.76..2604047529747.78 rows=42809 width=20) |
100 | 612635 | 1 | 6 | 5 | -> XN Hash Join DS_DIST_NONE (cost=15104956.16..2602364653507.34 rows=336575226684 width=20) | Hash Cond: (("outer".listid = "inner".listid) AND ("outer".sellerid = "inner".sellerid))
100 | 612635 | 1 | 7 | 6 | -> XN Seq Scan on listing b (cost=0.00..7884677.12 rows=788467712 width=24) |
100 | 612635 | 1 | 8 | 6 | -> XN Hash (cost=7063797.76..7063797.76 rows=706379776 width=8) |
100 | 612635 | 1 | 9 | 8 | -> XN Seq Scan on sales a (cost=0.00..7063797.76 rows=706379776 width=8) |
(9 rows)