STL_PLAN_INFO
Use a visualização STL_PLAN_INFO para examinar a saída EXPLAIN de uma consulta em termos de um conjunto de linhas. Essa é uma forma alternativa de ver os planos de consulta.
STL_PLAN_INFO permanece visível para todos os usuários. Os superusuários podem ver todas as linhas; usuários regulares podem ver somente seus próprios dados. Para ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.
nota
STL_PLAN_INFO só contém consultas executadas em clusters principais. Ele não contém consultas executadas em clusters de escalabilidade de simultaneidade. Para acessar consultas executadas em clusters de escalabilidade principais e de simultaneidade, é recomendável usar a exibição de monitoramento SYS SYS_QUERY_DETAIL. Os dados na exibição de monitoramento SYS são formatados para serem mais fáceis de usar e compreender.
Colunas da tabela
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
userid | inteiro | O ID do usuário que gerou a entrada. |
consulta | inteiro | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. |
nodeid | inteiro | O identificador do nó de plano, onde o nó mapeia para uma ou mais etapas na execução da consulta. |
segment | inteiro | O número que identifica o segmento da consulta. |
etapa | inteiro | O número que identifica a etapa da consulta. |
locus | inteiro | Local onde a etapa é executada: 0 se estiver em um nó de computação e 1 se estiver no nó líder. |
plannode | inteiro | O valor enumerado do nó de plano. Veja a tabela a seguir com os valores enumerados dos nós de plano. (A coluna PLANNODE na tabela STL_EXPLAIN contém o texto do nó de plano). |
startupcost | double precision | O custo relativo estimado de retorno da primeira linha para esta etapa. |
totalcost | double precision | O custo relativo estimado de execução da etapa. |
rows | bigint | O número estimado de linhas que serão produzidas pela etapa. |
bytes | bigint | O número estimado de bytes que serão produzidos pela etapa. |
Consultas de exemplo
Os exemplos a seguir comparam os planos de consulta para uma consulta SELECT simples retornada usando o comando EXPLAIN e consultando a visualização 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)
Neste exemplo, o PLANNODE 104 refere-se à varredura sequencial da tabela 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)