STL_UNIQUE
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 ter mais informações, consulte Visibilidade de dados em tabelas e visualizações de sistema.
nota
STL_UNIQUE 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. |
slice | inteiro | O número que identifica a fatia em que a consulta estava sendo executada. |
segment | inteiro | O número que identifica o segmento da consulta. |
etapa | inteiro | 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 | inteiro | 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 | inteiro | 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 | inteiro | Essas informações são somente para uso interno. |
occupied | inteiro | Essas informações são somente para uso interno. |
flushable | inteiro | 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)