Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅ ponto de extremidade de análise do SQL e Warehouse no Microsoft Fabric
No Microsoft Fabric, o recurso de insights de consulta é uma solução escalonável, sustentável e extensível para aprimorar a experiência de análise do SQL. Com dados de consulta históricos, insights agregados e acesso ao texto de consulta real, você pode analisar e ajustar o desempenho da consulta. Os insights de consulta (QI) fornecem informações sobre consultas executadas somente no contexto de um usuário; as consultas do sistema não são consideradas.
O recurso de insights de consulta fornece um local central para dados de consulta históricos e insights acionáveis por 30 dias, ajudando você a tomar decisões informadas para melhorar o desempenho do seu warehouse ou ponto de extremidade de análise do SQL. Quando uma consulta SQL é executada no Microsoft Fabric, o recurso de insights de consulta coleta e consolida seus dados de execução, fornecendo informações valiosas. Você pode exibir o texto de consulta completo para funções de Administrador, Membro e Colaborador.
- Dados históricos de consulta: O Query Insights armazena dados históricos sobre execuções de consulta, permitindo que você acompanhe as alterações de desempenho ao longo do tempo. As consultas do sistema não são armazenadas em insights de consulta.
- Insights agregados: O Query Insights agrega dados de execução de consulta em insights mais acionáveis, como a identificação de consultas de execução longa ou os usuários mais ativos. Essas agregações são baseadas na forma de consulta. Para obter mais informações, consulte Como consultas semelhantes são agregadas para gerar insights?
-
Insights do Warehouse: Para entender a integridade geral do seu armazém, use a exibição
sql_pool_insights. Essa exibição fornece indicadores de pressão e métricas no nível do pool, ajudando você a monitorar a alocação de recursos e diagnosticar problemas de desempenho entre pools.
Antes de começar
Você deve ter acesso a um Ponto de extremidade de análise do SQL ou Warehouse em espaço de trabalho de capacidade Premium com permissões de colaborador ou superiores.
Quando você precisa dos insights de consulta?
O recurso de insights de consulta aborda várias perguntas e preocupações relacionadas ao desempenho da consulta e à otimização do banco de dados, incluindo:
Análise de desempenho de consulta
- Qual é o desempenho histórico das nossas consultas?
- Há consultas de longa execução que precisam de atenção?
- Podemos identificar as consultas que causam gargalos de desempenho?
- O cache foi utilizado para minhas consultas?
- Quais consultas estão consumindo mais CPU?
Otimização e ajuste de consulta
- Quais consultas são executadas com frequência e seu desempenho pode ser melhorado?
- Podemos identificar consultas que falharam ou foram canceladas?
- Podemos acompanhar as alterações no desempenho da consulta ao longo do tempo?
- Há consultas que têm um desempenho ruim consistentemente?
Monitoramento de atividades do usuário
- Quem enviou uma consulta específica?
- Quem são os usuários mais ativos ou os usuários com as consultas mais longas?
Pool de SQL e monitoramento de recursos
- Meu pool de SQL estava sob pressão durante a execução da consulta?
- Com que frequência o pool experimentou pressão nas últimas 24 horas?
- Houve alterações recentes na capacidade do workspace ou na configuração do pool?
- Quais pools estão consumindo a maior porcentagem de recursos?
- Posso correlacionar eventos de pressão com consultas de execução lenta?
- Como identificar tendências na pressão do pool ao longo do tempo?
As exibições do sistema a seguir fornecem respostas para estas perguntas:
queryinsights.exec_requests_history
- Retorna informações sobre cada solicitação/consulta SQL concluída.
queryinsights.exec_sessions_history
- Retorna informações sobre sessões concluídas.
queryinsights.long_running_queries
- Retorna as informações sobre as consultas por tempo de execução da consulta.
queryinsights.frequently_run_queries
- Retorna informações sobre consultas de execução frequente.
queryinsights.sql_pool_insights
- Retorna informações sobre alocação de recursos do warehouse, alterações de configuração e pressão.
Onde você pode ver os insights de consulta?
Exibições geradas automaticamente estão sob o esquema queryinsights no ponto de extremidade de análise do SQL e no Warehouse. No Fabric Explorer de um warehouse, por exemplo, localize exibições de insights de consulta em Esquemas, queryinsights, Exibições.
Depois que a consulta concluir a execução, você verá seus dados de execução nas exibições queryinsights do warehouse ou do ponto de extremidade de análise SQL ao qual você estava conectado. Se você executar uma consulta entre bancos de dados enquanto estiver no contexto de WH_2, sua consulta aparecerá nos insights de consulta de WH_2. As consultas concluídas podem levar até 15 minutos para aparecer em insights de consulta, dependendo da carga de trabalho simultânea que está sendo executada. O tempo necessário para que as consultas apareçam nos insights de consulta aumenta com o aumento de consultas simultâneas sendo executadas.
Como consultas semelhantes são agregadas para gerar insights?
As consultas serão consideradas as mesmas pelo Query Insights se as consultas tiverem a mesma forma, mesmo que os predicados possam ser diferentes.
Você pode utilizar a coluna query hash nas exibições para analisar consultas semelhantes e fazer uma busca detalhada de cada execução.
Por exemplo, as consultas a seguir são consideradas as mesmas depois que seus predicados são parametrizados:
SELECT * FROM Orders
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';
e
SELECT * FROM Orders
WHERE OrderDate BETWEEN '2000-07-01' AND '2006-07-31';
Exemplos
Identificar consultas executadas por você nos últimos 30 minutos
A consulta a seguir usa queryinsights.exec_requests_history e a função interna USER_NAME(), que retorna o nome de usuário da sessão atual.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identifique as principais consultas que consomem CPU por tempo de CPU
A consulta a seguir retorna as 100 principais consultas por tempo de CPU alocado.
SELECT TOP 100 distributed_statement_id, query_hash, allocated_cpu_time_ms, label, command
FROM queryinsights.exec_requests_history
ORDER BY allocated_cpu_time_ms DESC;
Identificar quais consultas estão verificando mais dados remotos em vez de cache
Você pode determinar se a verificação de dados grades durante a execução da consulta está deixando sua consulta lenta e tomar decisões para ajustar seu código de consulta adequadamente. Essa análise permite comparar diferentes execuções de consulta e identificar se a variação na quantidade de dados escaneados é o motivo das alterações de desempenho.
Além disso, você pode avaliar o uso do cache examinando a soma de data_scanned_memory_mb e data_scanned_disk_mb, e comparando-a com data_scanned_remote_storage_mb para execuções anteriores.
Observação
Os valores verificados de dados podem não considerar os dados movidos durante os estágios intermediários da execução da consulta. Em alguns casos, a quantidade dos dados movidos e dos recursos de CPU necessários para o processamento pode ser maior do que o valor dos dados escaneados indica.
Os valores de dados verificados aparecem como 0 para declarações COPY INTO.
SELECT distributed_statement_id, query_hash, data_scanned_remote_storage_mb, data_scanned_memory_mb, data_scanned_disk_mb, label, command
FROM queryinsights.exec_requests_history
ORDER BY data_scanned_remote_storage_mb DESC;
Identificar as consultas executadas com mais frequência usando uma substring de caracteres no texto da consulta
A consulta a seguir retorna as consultas mais recentes que correspondem a uma determinada cadeia de caracteres, em ordem decrescente de número de execuções bem-sucedidas.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identificar consultas de execução longa usando uma substring de caracteres no texto da consulta
A consulta a seguir retorna as consultas que correspondem a uma determinada cadeia de caracteres, ordenada pelo tempo médio de execução da consulta decrescente.
SELECT * FROM queryinsights.long_running_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY median_total_elapsed_time_ms DESC;
Consultar exibições de insights
- queryinsights.exec_requests_history
- queryinsights.exec_sessions_history
- queryinsights.long_running_queries
- queryinsights.frequently_run_queries
- queryinsights.sql_pool_insights