Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 5609|Resposta: 2

Visualização e Criação de Índices do MongoDB

[Copiar link]
Publicado em 11/02/2022 17:46:29 | | | |
Índice MongoDB

Sem índices, o MongoDB teria que escanear todos os arquivos da coleção e selecionar aqueles registros que atendam aos critérios de consulta ao ler dados.

Esse tipo de eficiência de consulta ao escanear o conjunto completo é muito baixa, especialmente ao processar uma grande quantidade de dados; a consulta pode levar dezenas de segundos ou até minutos, o que é muito fatal para o desempenho do site.

Índices são estruturas de dados especiais armazenadas em uma coleção de dados que podem ser facilmente lidas sobre um índice, e índices são uma estrutura que ordena os valores de uma ou mais colunas em uma tabela de banco de dados.

Revisar:

Comandos comuns de consulta do MongoDB
https://www.itsvse.com/thread-10169-1-1.html

Consultar o plano de execução

Exemplos de afirmações:

Sem criar um índice (winningPlan:COLLSCAN), como mostrado na figura abaixo:



A função explain() também pode receber diferentes parâmetros, e você pode visualizar um plano de consulta mais detalhado definindo diferentes parâmetros.

Os parâmetros incluem:QueryPlanner (padrão)、EstatísticasExecução、TodosPlanos Execução

Execute explain("executionStats") e você verá que há mais estatísticas no plano de execução.

parâmetrosignificado
totalKeysExaminedNúmero de varreduras de índice
totalDocsExaminedNúmero de digitalizações de documentos
nRetornadoO número de resultados retornados
executionTimeMillisA execução consome tempo
execuçãoSucessoSe a execução foi bem-sucedida

Criar um índice

O MongoDB usa o método createIndex() para criar índices.

Note que, antes da versão 3.0.0, o método de criação de índice era db.collection.ensureIndex(), e versões posteriores usavam o método db.collection.createIndex().

Criar um único índice


Criar um índice composto

Na sintaxe, o valor-chave é o campo índice que você deseja criar, 1 é especificado para criar um índice em ordem crescente, e se quiser criar um índice em ordem decrescente, pode especificar -1.Antecedentes para especificar que índices são criados em segundo plano, ou seja, adicionar o parâmetro opcional "fundo". "background" é o padrão falso.

Índices de consulta

O comando é o seguinte:



Exclua o índice

Exclua todos os índices

Exclua o índice especificado

(Fim)




Anterior:Como restringir usuários taiwaneses de se registrarem, postar informações à vontade e pedir conselhos sobre como escrever.
Próximo:[Combate real]. NET/C# exporta o cache usando consulta fuzzy do StackExchange.Redis
 Senhorio| Publicado em 11/02/2022 17:49:16 |
Processo lento de análise de consultas:

1. Use o log lento de consultas (system.profile) para encontrar instruções que excedam 200ms

2. Depois, use .explain() para analisar o número de linhas afetadas e analisar por que ela ultrapassa 200ms

3. Decidir se é necessário adicionar um índice

Ativar consulta lenta:


Parâmetro:

0: Fechado, nenhum dado é coletado.
1: Coletar dados de consulta lenta, o padrão é 100 milissegundos.
2: Coletar todos os dados

Revise os resultados:


Nota: Os índices podem ser basicamente considerados permanentes na memória; se a quantidade de dados atingir 100 milhões, quanto menor o número de índices, melhor, pois ocuparão uma grande quantidade de memória. Segundo a Internet, 1 milhão de índices representam cerca de 50 milhões de memória. Se for 100 milhões, então ocupará memória 5G.

Publicado em 13/02/2022 16:30:52 |
douto...
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com