Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Medir o uso do índice

Nesta página

  • Obtenha informações de acesso ao índice com $indexStats
  • Retornar plano de query com explain()
  • Uso do Índice de Controle com hint()
  • Métricas de índice

Use o estágio de agregação $indexStats para obter estatísticas sobre o uso de cada índice para uma coleção. Por exemplo, a seguinte operação de agregação retorna estatísticas sobre o uso do índice na coleção orders:

db.orders.aggregate( [ { $indexStats: { } } ] )

Dica

Veja também:

Utilize o método db.collection.explain() ou cursor.explain() no modo executionStats para retornar estatísticas sobre o processo de query, incluindo o índice utilizado, o número de documentos digitalizados e o tempo que a query leva para processar em milissegundos.

Execute o db.collection.explain() ou o método cursor.explain() no modo allPlansExecution para visualizar estatísticas de execução parcial coletadas durante a seleção do plano.

Dica

Veja também:

Para forçar o MongoDB a usar um índice específico para uma operação db.collection.find(), especifique o índice com o método hint(). Anexe o método hint() ao método find(). Considere o seguinte exemplo:

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )

Para exibir as estatísticas de execução de um índice específico, acrescente ao db.collection.find() o método hint() seguido decursor.explain(), por exemplo:

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } ).explain("executionStats")

Ou anexe o método hint() a db.collection.explain().find():

db.people.explain("executionStats").find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { zipcode: 1 } )

Especifique o operador $natural para o método hint() para evitar que o MongoDB utilize qualquer índice:

db.people.find(
{ name: "John Doe", zipcode: { $gt: "63000" } }
).hint( { $natural: 1 } )

Além do estágio de agregação $indexStats, o MongoDB fornece várias estatísticas de índice que você pode considerar ao analisar o uso do índice em seu banco de dados:

← Gerenciar índices