Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:✅ ponto de extremidade de análise SQL e Warehouse no Microsoft Fabric
No Microsoft Fabric, o recurso de insights de consulta é uma solução escalável, sustentável e extensível para aprimorar a experiência de análise SQL. Com dados históricos de consulta, informações agregadas e acesso ao texto real da consulta, você pode analisar e ajustar o desempenho da consulta. QI fornece informações sobre consultas executadas apenas no contexto de um usuário, 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 ponto de extremidade de análise SQL ou Warehouse. 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 completo da consulta para as funções de Administrador, Membro e Colaborador.
- Dados históricos de consulta: O Query Insights armazena dados históricos sobre execuções de consultas, permitindo-lhe acompanhar alterações de desempenho ao longo do tempo. As consultas do sistema não são armazenadas em informações de consulta.
- Insights Agregados: O Query Insights agrega dados de execução de consultas em insights mais acionáveis, como identificar consultas de longa duração ou utilizadores mais ativos. Essas agregações são baseadas na forma da consulta. Para obter mais informações, consulte Como consultas semelhantes são agregadas para gerar insights?
-
Análises do Armazém: Para compreender a saúde geral do seu armazém, utilize a
sql_pool_insightsvisualização. Esta vista fornece métricas ao nível do pool e indicadores de pressão, ajudando-o a monitorizar a alocação de recursos e a diagnosticar problemas de desempenho entre pools.
Antes de começar
Você deve ter acesso a um ponto de extremidade de análise SQL ou Armazém dentro de um espaço de trabalho de capacidade Premium com permissões de colaborador ou superiores.
Quando você precisa de 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:
Consultar a análise de desempenho
- Qual é o desempenho histórico das nossas consultas?
- Existem consultas de longa duraçã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 consultas
- Quais consultas são executadas com frequência e seu desempenho pode ser melhorado?
- Conseguimos identificar consultas que falharam ou foram canceladas?
- Podemos acompanhar as alterações no desempenho da consulta ao longo do tempo?
- Há alguma consulta que tenha um desempenho consistentemente ruim?
Monitorização da atividade do utilizador
- Quem enviou uma consulta específica?
- Quem são os usuários mais ativos ou os usuários com as consultas mais longas?
Monitorização de pools SQL e de recursos
- O meu pool SQL esteve sob pressão durante a execução da consulta?
- Com que frequência a piscina sofreu pressão nas últimas 24 horas?
- Houve alguma alteração recente na capacidade do espaço de trabalho ou na configuração da piscina?
- Quais os pools que consomem a maior percentagem de recursos?
- Posso correlacionar eventos de pressão com consultas lentas?
- Como posso identificar tendências na pressão da piscina ao longo do tempo?
As seguintes vistas do sistema fornecem respostas a estas questões:
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 consultas por tempo de execução da consulta.
queryinsights.frequently_run_queries
- Retorna informações sobre consultas executadas com freqüência.
queryinsights.sql_pool_insights
- Returns information about warehouse resource allocation, configuration changes, and pressure: Retorna informação sobre alocação de recursos de armazém, alterações de configuração e pressão.
Onde você pode ver informações sobre consultas?
As exibições geradas automaticamente estão sob o queryinsights esquema no ponto de extremidade de análise 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 queryinsights dados de execução nas exibições do ponto de extremidade de análise do Warehouse ou do SQL Analytics ao qual você estava conectado. Se você executar uma consulta entre bancos de dados enquanto estiver no contexto do WH_2, sua consulta aparecerá nas informações de consulta do WH_2. As consultas concluídas podem levar até 15 minutos para aparecer nas informações de consulta, dependendo da carga de trabalho simultânea que está sendo executada. O tempo necessário para que as consultas apareçam nas informações de consulta aumenta com o aumento das consultas simultâneas sendo executadas.
Como consultas semelhantes são agregadas para gerar insights?
As consultas são consideradas iguais pelo Query Insights se as consultas tiverem a mesma forma, mesmo que os predicados possam ser diferentes.
Você pode utilizar a query hash coluna nas exibições para analisar consultas semelhantes e detalhar cada execução.
Por exemplo, as seguintes consultas são consideradas iguais 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, que retorna seu nome de USER_NAME() usuário da sessão atual.
SELECT * FROM queryinsights.exec_requests_history
WHERE start_time >= DATEADD(MINUTE, -30, GETUTCDATE())
AND login_name = USER_NAME();
Identificar as principais consultas consumidoras de 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 a maioria dos dados remotamente em vez de cache
Você pode determinar se a varredura de dados grandes durante a execução da consulta está atrasando sua consulta e tomar decisões para ajustar seu código de consulta de acordo. Essa análise permite comparar diferentes execuções de consulta e identificar se a variância na quantidade de dados digitalizados é 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_mbe e comparando-a com a data_scanned_remote_storage_mb de execuções passadas.
Nota
Os valores de dados digitalizados podem não considerar os dados movidos durante os estágios intermediários de execução da consulta. Em alguns casos, o tamanho dos dados movidos e da CPU necessária a processar pode ser maior do que o valor dos dados digitalizados indica.
Os valores de dados digitalizados aparecem como 0 para COPY INTO declarações.
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 no texto da consulta
A consulta a seguir retorna as consultas mais recentes que correspondem a uma determinada cadeia de caracteres, ordenadas pelo número de execuções bem-sucedidas decrescentes.
SELECT * FROM queryinsights.frequently_run_queries
WHERE last_run_command LIKE '%<some_label>%'
ORDER BY number_of_successful_runs DESC;
Identificar consultas de longa execução usando uma substring no texto da consulta
A consulta a seguir retorna as consultas que correspondem a uma determinada cadeia de caracteres, ordenadas 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;
Visualizações de insights de consulta
- queryinsights.exec_requests_history
- queryinsights.exec_sessions_history
- queryinsights.long_running_queries
- queryinsights.frequently_run_queries
- queryinsights.sql_pool_insights