Partilhar via


Otimize o desempenho de consultas com o Index Advisor no Azure DocumentDB (preview)

O Index Advisor é um assistente de ajuste de desempenho integrado para o Azure DocumentDB que ajuda a diagnosticar consultas lentas, compreender o comportamento de execução das consultas e implementar estratégias otimizadas de índice. O Index Advisor analisa a estrutura da sua consulta juntamente com estatísticas de recolha e índice. O Index Advisor gera então recomendações claras e baseadas em dados, com explicações legíveis que descrevem porque é que um índice específico ajudaria a melhorar o desempenho.

Benefícios do Consultor de Índice

Aqui estão algumas vantagens de utilizar o Index Advisor.

  • Identificar gargalos de desempenho e consultas ineficientes.
  • Receba recomendações acionáveis de índice , priorizadas pelo efeito de desempenho.
  • Compreenda porque é que um índice é importante através de explicações claras e em inglês simples.
  • Aplique as recomendações do índice imediatamente na extensão.
  • Compare automaticamente o desempenho antes e depois assim que o índice for criado.

Casos de utilização para o Index Advisor

O Index Advisor suporta vários padrões de consulta e cenários de otimização para ajudar a melhorar o desempenho da sua base de dados.

Scenario Description
Consulta de Igualdade/Intervalo Lida com filtros simples de igualdade ou de intervalo (por exemplo, field = value ou field > value).
Filtro Composto / Consulta Abrangente / Junção de Pesquisa Analisa consultas que envolvem múltiplas condições de filtro ou junções que podem ser otimizadas com índices compostos ou cobertos para Encontrar Consultas.
Índices Composto Sugere índices multi-campo (compostos) para suportar consultas complexas de Find/sort
Ordenar Apenas Identifica quando uma operação de ordenação pode ser melhorada ou coberta por um índice.
Filtrar + Ordenar / Pressionar o Índice Recomenda estruturas de índice que permitam gerir a filtragem e a ordenação de forma eficiente dentro da camada de índice, reduzindo as digitalizações de documentos.
Cobertura existente do índice Suportado para consultas de Finding; se já existir um índice, não é sugerido nenhum novo índice.

Se o seu cenário de consulta não se enquadrar nestes padrões, contacte a equipa do Azure DocumentDB para obter ajuda com o seu caso de uso específico.

Pré-requisitos

  • Uma assinatura do Azure

    • Se você não tiver uma assinatura do Azure, crie uma conta gratuita
  • Um cluster do Azure DocumentDB existente

Liga-te ao teu cluster Azure DocumentDB

Liga-te ao teu cluster Azure DocumentDB dentro da extensão Visual Studio Code.

  1. Abra a extensão DocumentDB para Visual Studio Code a partir da Barra de Atividades.

  2. Selecione Adicionar Ligação para criar uma nova ligação ao cluster.

  3. Escolha o seu método de autenticação e forneça os detalhes de ligação necessários.

  4. Teste a ligação para garantir que está a funcionar corretamente.

  5. Expanda o seu cluster para visualizar as bases de dados e coleções disponíveis.

Abra uma consulta para análise

Inicie a análise de desempenho com o Index Advisor abrindo uma consulta na extensão DocumentDB.

  1. Abra uma consulta de Procurar, Agregar ou Contar na extensão.

  2. Vá para a aba Consulta Insights.

  3. Executa a tua consulta. O painel apresenta indicadores-chave de desempenho, como tempo de execução, documentos devolvidos, chaves examinadas e documentos examinados. O Index Advisor recolhe e analisa o plano de execução da consulta e as estatísticas do cluster ligado (Modo Padrão) ou de dados pré-carregados (Modo Pré-carregamento). Um modelo de linguagem (GitHub Copilot) examina o plano e as estatísticas sanitizadas para recomendar índices ótimos.

    Importante

    Todos os valores literais de consulta (por exemplo, emails, números ou texto) são substituídos por <value> marcadores de posição antes de serem enviados para análise.

    Aqui está um exemplo da higienização:

    • Consulta não sanitizada que não é enviada

      {
        "filter": {
          "email": "john.doe@example.com",
          "age": { "$gt": 25 }
        }
      }
      
    • Consulta sanitizada que é enviada

      {
        "filter": {
          "email": "<value>",
          "age": { "$gt": "<value>" }
        }
      }
      
  4. Aplicar uma recomendação diretamente; A extensão cria o índice e reexecuta a consulta para atualizar as métricas de desempenho.

  5. Consulte as Estatísticas de Consulta e os resumos do Plano de Execução .

    Captura de ecrã da secção de estatísticas de consulta com informações incluindo o tempo de execução, número de documentos devolvidos e chaves/documentos examinados.

  6. Explore a lista de Oportunidades de Otimização . Cada recomendação inclui uma explicação legível para humanos e uma definição de índice sugerida.

    Captura de ecrã das oportunidades de otimização com uma lista de recomendações para a consulta atual.

  7. Selecione Candidatar para criar o índice recomendado. A criação de índices corre de forma assíncrona em segundo plano. Uma vez concluído, o painel atualiza-se automaticamente com resultados atualizados. Após a criação do índice, o Index Advisor reexecuta a análise e atualiza as métricas para que possa comparar melhorias de desempenho.

Limitações do Consultor de Índice

Aqui estão as limitações da funcionalidade Consultor de Índices.

  • Disponibilidade regional: O Index Advisor está atualmente disponível apenas nas regiões dos Estados Unidos e Canadá .
  • Gestão do índice: O Consultor de Índices apenas recomenda a criação de novos índices; Não recomenda eliminar ou esconder índices existentes neste momento.
  • Cobertura de cenários: Apenas os cenários suportados listados anteriormente estão otimizados nesta versão. Para outros tipos de consultas, contacte a equipa do Azure DocumentDB ou consulte as Melhores Práticas de Indexação.
  • Sensibilidade dos dados: Trate os nomes das bases de dados e coleções como metadados, mas continue a rever as políticas internas de classificação de dados.

Melhores práticas ao utilizar o Index Advisor

Aqui estão as melhores práticas para utilizar a funcionalidade Index Advisor.

  • Siga as políticas de governação de dados da sua organização ao exportar ou partilhar estatísticas.
  • Revise as recomendações do índice antes de as aplicar para garantir que estão alinhadas com a sua carga de trabalho e os seus requisitos de custo.
  • Evite eliminar manualmente índices sem rever dependências ou consultar a equipa do Azure DocumentDB.
  • Se os seus padrões de consulta não forem suportados, consulte as Melhores Práticas de Indexação para orientação e apoio.

Considerações para o Consultor de Índice

O Index Advisor foi concebido para o ajudar a otimizar consultas enquanto protege a privacidade dos seus dados em cada etapa.

Esta lista mostra os dados recolhidos pela extensão:

  • Planos de execução de consultas – informação estrutural e métricas de desempenho.
  • Estatísticas da coleção – contagem de documentos, tamanhos de dados e índices, e contagens de índices.
  • Detalhes do índice – nomes de índice, padrões de chave e métricas de utilização.
  • Metadados do cluster – informação limitada, como o estado de alojamento do Azure e o tipo de API.

Conformidade e proteção de dados

Para garantir conformidade e proteção de dados, o sistema implementa as seguintes salvaguardas antes de enviar qualquer informação para análise:

  • Substituir todos os valores literais em consultas e planos de execução por <value>.
  • Mantendo nomes de campos e operadores de consulta (como email, $gt, $in) para preservar o contexto.
  • Sanitizar totalmente os planos de execução para garantir que não restam dados sensíveis ou pessoais.
  • Manter métricas de desempenho (como nReturned ou executionTimeMillis) porque não contêm valores literais dos seus dados.
  • Transmitir apenas a estrutura sanitizada, estatísticas e metadados necessários para a análise — nunca amostre documentos ou valores brutos.
  • Sujeitar qualquer funcionalidade futura que exija dados não higienizados a uma revisão completa da privacidade e conformidade da Microsoft.

O Index Advisor analisa apenas a estrutura da consulta e as características de desempenho, nunca os seus dados reais.