Analisa as etapas de execução que ocorrem quando uma função DISTINCT é usada na lista SELECT, ou quando duplicações são removidas de uma consulta UNION ou INTERSECT.
STL_UNIQUE 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 obter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.
nota
STL_UNIQUE contém apenas as consultas executadas nos principais clusters provisionados. Ele não contém consultas executadas em clusters de escalabilidade simultânea ou em namespaces sem servidor. Para acessar os planos de explicação das consultas executadas em clusters principais, clusters de escalabilidade simultânea e namespaces sem servidor, recomendamos usar a visualizaçã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 | integer | O ID do usuário que gerou a entrada. |
consulta | integer | ID da consulta. A coluna de consulta pode ser usada para unir outras tabelas e exibições do sistema. |
slice | integer | O número que identifica a fatia em que a consulta estava sendo executada. |
segment | integer | O número que identifica o segmento da consulta. |
etapa | integer | Etapa da consulta que foi executada. |
starttime | timestamp | O horário (em UTC) de início da consulta. O tempo total inclui consultas e execução, com seis dígitos de precisão para segundos fracionários. Por exemplo: 2009-06-12 11:29:19.131358 . |
endtime | timestamp | Horário em UTC em que a consulta foi finalizada. O tempo total inclui consultas e execução, com seis dígitos de precisão para segundos fracionários. Por exemplo: 2009-06-12 11:29:19.131358 . |
tasknum | integer | Número do processo de tarefa de consulta que foi atribuído para executar a etapa. |
rows | bigint | O número total de linhas que foram processadas. |
type |
character(6) | O tipo da etapa. Os valores válidos são:
|
is_diskbased | character(1) | Se o valor é true (t), a consulta foi realizada como uma operação em disco. Se o valor é false (f), a consulta foi realizada na memória. |
slots | integer | O número total de buckets de hash. |
workmem | bigint | O número total de bytes na memória de trabalho que foram atribuídos à etapa. |
max_buffers_used | bigint | O número máximo de buffers usados na tabela de hash antes de acessar o disco. |
resizes | integer | Essas informações são somente para uso interno. |
occupied | integer | Essas informações são somente para uso interno. |
flushable | integer | Essas informações são somente para uso interno. |
used_unique_prefetching | character(1) | Essas informações são somente para uso interno. |
bytes | biginit | O número de bytes de todas as linhas de saída da etapa. |
Consultas de exemplo
Suponha que você execute a seguinte consulta:
select distinct eventname
from event order by 1;
Assumindo que o ID da consulta anterior seja 6313, o exemplo a seguir mostra o número de linhas produzidas pela etapa exclusiva para cada fatia nos segmentos 0 e 1.
select query, slice, segment, step, datediff(msec, starttime, endtime) as msec, tasknum, rows
from stl_unique where query = 6313
order by query desc, slice, segment, step;
query | slice | segment | step | msec | tasknum | rows
-------+-------+---------+------+------+---------+------
6313 | 0 | 0 | 2 | 0 | 22 | 550
6313 | 0 | 1 | 1 | 256 | 20 | 145
6313 | 1 | 0 | 2 | 1 | 23 | 540
6313 | 1 | 1 | 1 | 42 | 21 | 127
6313 | 2 | 0 | 2 | 1 | 22 | 540
6313 | 2 | 1 | 1 | 255 | 20 | 158
6313 | 3 | 0 | 2 | 1 | 23 | 542
6313 | 3 | 1 | 1 | 38 | 21 | 146
(8 rows)