Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizza la vista STL_PLAN_INFO per visualizzare l'output di EXPLAIN per una query in termini di un set di righe. Questo è un modo alternativo per visualizzare i piani di query.
STL_PLAN_INFO è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.
Nota
STL_PLAN_INFO contiene solo le query eseguite sui cluster con provisioning principale. Non contiene query eseguite su cluster con scalabilità simultanea o su namespace senza server. Per accedere ai piani esplicativi per le query eseguite su entrambi i cluster principali, i cluster con scalabilità simultanea e i namespace senza server, ti consigliamo di utilizzare la vista di monitoraggio SYS. SYS_QUERY_DETAIL I dati nella vista di monitoraggio SYS sono formattati in modo da essere più facili da usare e comprendere.
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
userid | integer | ID dell'utente che ha generato la voce. |
query | integer | ID query. La colonna di query può essere utilizzata per unire altre tabelle e visualizzazioni del sistema. |
nodeid | integer | Identificatore di nodo di piano, dove un nodo corrisponde a una o più fasi nell'esecuzione della query. |
segment | integer | Numero identificativo del segmento di query. |
step | integer | Numero identificativo della fase di query. |
locus | integer | Posizione in cui viene eseguita la fase. 0 se in un nodo di calcolo e 1 se nel nodo principale. |
plannode | integer | Valore enumerato del nodo di piano. Consulta la tabella seguente per le enumerazioni del plannode. (La colonna PLANNODE in STL_EXPLAIN contiene il testo del nodo di piano.) |
startupcost | double precision | Il costo relativo stimato della restituzione della prima riga di questa fase. |
totalcost | double precision | Il costo relativo stimato dell'esecuzione della fase. |
righe | bigint | Il numero stimato di righe che saranno prodotte dalla fase. |
byte | bigint | Il numero stimato di byte che saranno prodotti dalla fase. |
Query di esempio
Gli esempi seguenti confrontano i piani di query per una query SELECT semplice restituita utilizzando il comando EXPLAIN e interrogando la tabella STL_PLAN_INFO.
explain select * from category;
QUERY PLAN
-------------------------------------------------------------
XN Seq Scan on category (cost=0.00..0.11 rows=11 width=49)
(1 row)
select * from category;
catid | catgroup | catname | catdesc
-------+----------+-----------+--------------------------------------------
1 | Sports | MLB | Major League Baseball
3 | Sports | NFL | National Football League
5 | Sports | MLS | Major League Soccer
...
select * from stl_plan_info where query=256;
query | nodeid | segment | step | locus | plannode | startupcost | totalcost
| rows | bytes
-------+--------+---------+------+-------+----------+-------------+-----------+------+-------
256 | 1 | 0 | 1 | 0 | 104 | 0 | 0.11 | 11 | 539
256 | 1 | 0 | 0 | 0 | 104 | 0 | 0.11 | 11 | 539
(2 rows)
In questo esempio, PLANNODE 104 si riferisce alla scansione sequenziale della tabella CATEGORY.
select distinct eventname from event order by 1;
eventname
------------------------------------------------------------------------
.38 Special
3 Doors Down
70s Soul Jam
A Bronx Tale
...
explain select distinct eventname from event order by 1;
QUERY PLAN
-------------------------------------------------------------------------------------
XN Merge (cost=1000000000136.38..1000000000137.82 rows=576 width=17)
Merge Key: eventname
-> XN Network (cost=1000000000136.38..1000000000137.82 rows=576
width=17)
Send to leader
-> XN Sort (cost=1000000000136.38..1000000000137.82 rows=576
width=17)
Sort Key: eventname
-> XN Unique (cost=0.00..109.98 rows=576 width=17)
-> XN Seq Scan on event (cost=0.00..87.98 rows=8798
width=17)
(8 rows)
select * from stl_plan_info where query=240 order by nodeid desc;
query | nodeid | segment | step | locus | plannode | startupcost |
totalcost | rows | bytes
-------+--------+---------+------+-------+----------+------------------+------------------+------+--------
240 | 5 | 0 | 0 | 0 | 104 | 0 | 87.98 | 8798 | 149566
240 | 5 | 0 | 1 | 0 | 104 | 0 | 87.98 | 8798 | 149566
240 | 4 | 0 | 2 | 0 | 117 | 0 | 109.975 | 576 | 9792
240 | 4 | 0 | 3 | 0 | 117 | 0 | 109.975 | 576 | 9792
240 | 4 | 1 | 0 | 0 | 117 | 0 | 109.975 | 576 | 9792
240 | 4 | 1 | 1 | 0 | 117 | 0 | 109.975 | 576 | 9792
240 | 3 | 1 | 2 | 0 | 114 | 1000000000136.38 | 1000000000137.82 | 576 | 9792
240 | 3 | 2 | 0 | 0 | 114 | 1000000000136.38 | 1000000000137.82 | 576 | 9792
240 | 2 | 2 | 1 | 0 | 123 | 1000000000136.38 | 1000000000137.82 | 576 | 9792
240 | 1 | 3 | 0 | 0 | 122 | 1000000000136.38 | 1000000000137.82 | 576 | 9792
(10 rows)