STL_NESTLOOP - Amazon Redshift

STL_NESTLOOP

Analisa as etapas de execução da junção de loops aninhados para as consultas.

STL_NESTLOOP 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_NESTLOOP 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.
tbl inteiro ID da tabela.
soma de verificação bigint Essas informações são somente para uso interno.

Consultas de exemplo

Como a consulta a seguir omite a junção da tabela CATEGORY, ela gera um produto cartesiano parcial, o que não é recomendado. Ela está sendo mostrada aqui para ilustrar um loop aninhado.

select count(event.eventname), event.eventname, category.catname, date.caldate from event, category, date where event.dateid = date.dateid group by event.eventname, category.catname, date.caldate;

A consulta a seguir mostra os resultados da consulta anterior na visualização STL_NESTLOOP.

select query, slice, segment as seg, step, datediff(msec, starttime, endtime) as duration, tasknum, rows, tbl from stl_nestloop where query = pg_last_query_id();
query | slice | seg | step | duration | tasknum | rows | tbl -------+-------+-----+------+----------+---------+-------+----- 6028 | 0 | 4 | 5 | 41 | 22 | 24277 | 240 6028 | 1 | 4 | 5 | 26 | 23 | 24189 | 240 6028 | 3 | 4 | 5 | 25 | 23 | 24376 | 240 6028 | 2 | 4 | 5 | 54 | 22 | 23936 | 240