SYS_QUERY_EXPLAIN
Muestra el plan EXPLAIN de una consulta que se ha enviado para ejecutarse.
SYS_QUERY_EXPLAIN es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
Columnas de la tabla
Nombre de la columna | Tipo de datos: | Descripción |
---|---|---|
user_id | entero | El identificador del usuario que envió la consulta. |
query_id | bigint | Identificador de la consulta. La información detallada de las consultas se almacena en SYS_QUERY_HISTORY. |
child_query_sequence | entero | La secuencia de la consulta reescrita del usuario, a partir de 1. |
plan_node_id | entero | Identificador de un nodo del plan que se asigna a uno o más pasos de la consulta. |
plan_parent_id | entero | Identificador del nodo principal del nodo del plan. Un nodo principal puede tener varios nodos secundarios. Por ejemplo, una unión de combinación es el nodo principal de los análisis de las tablas unidas. |
plan_node | character (400) | El texto del nodo extraído de la salida de EXPLAIN. Los nodos del plan que hacen referencia a la ejecución en nodos de computación llevan el prefijo XN en la salida de EXPLAIN. |
node_info | character (400) | Información del calificador y del filtro para el nodo del plan. Por ejemplo, las condiciones de combinación y las restricciones de la cláusula WHERE están incluidas en esta columna. |
Consultas de ejemplo
El siguiente ejemplo es el plan EXPLAIN de una sola 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)