índice MongoDB
O índice é geralmente possível melhorar significativamente a eficiência da consulta, se não houver nenhum índice, MongoDB quando os dados de leitura deve verificar cada arquivo na coleção e selecione os registros que correspondem aos critérios de consulta.
Esta eficiência da consulta coleção inteira de digitalização é muito baixo, especialmente ao lidar com grandes quantidades de dados, consultas pode levar dezenas de segundos ou mesmo minutos, o desempenho deste site é muito mortal.
Index é uma estrutura de dados especial, o índice é armazenada num conjunto de dados de fácil de ler de passagem, o valor do índice é uma estrutura de uma tabela de base de dados ou colunas para classificar
ensureIndex () Método
MongoDB usa o método ensureIndex () para criar o índice.
gramática
método ensureIndex () sintaxe básica é a seguinte:
>db.COLLECTION_NAME.ensureIndex({KEY:1})
Grammar valor do campo índice de chave que você deseja criar um índice para o especificado criar ascendente, descendente, se você quiser criar um índice de -1 pode ser especificado.
Exemplos
>db.col.ensureIndex({"title":1}) >
ensureIndex () método, você também pode configurar para utilizar vários campos para criar um índice (banco de dados relacional chamado de índice composto).
>db.col.ensureIndex({"title":1,"description":-1}) >
ensureIndex () recebe os parâmetros opcionais, parâmetros opcionais estão listados abaixo:
parâmetro | tipo | descrição |
---|---|---|
fundo | boolean | processo de indexação irá bloquear outras operações de banco de dados, criar índices fundo pode ser especificado sistema fase posterior, um aumento de "fundo" parâmetros opcionais. "Background" O valor padrão éfalso. |
único | boolean | A indexação é único. Especifica a criação de um índice exclusivo para true. O valor padrão éfalso. |
nome | corda | Nome do índice. Se não for especificado, MongoDB, ligando o nome do campo de índice e a ordem de classificação para gerar um nome de índice. |
dropDups | boolean | Excluir registros duplicados quando você cria um índice exclusivo, especificar true para criar um índice exclusivo. O valor padrão éfalso. |
escasso | boolean | Para dados de campo não existe no documento não permitir que o índice; este parâmetro requer uma atenção especial, se definido como verdadeiro, então o campo de índice não consulta o documento não contém um campo correspondente .. O valor padrão éfalso. |
expireAfterSeconds | número inteiro | Especificar um valor em segundos para a unidade para concluir a definição TTL, defina o tempo de sobrevivência de coleção. |
v | versão índice | número da versão do índice. A versão padrão do índice depende do prazo quando mongod criar uma versão índice. |
pesos | documento | pesos índice, os valores entre 1 e 99999, representa o direito de marcando outro campo de índice em relação ao peso do índice. |
default_language | corda | Para índices de texto, este parâmetro determina as palavras de parada e decorrentes das regras e listas de palavras. O padrão é o Inglês |
language_override | corda | Para o índice de texto, que especifica os nomes dos campos contidos no documento, a língua substituir o idioma padrão, o valor padrão é a linguagem. |
Exemplos
Criar um índice em segundo plano:
db.values.ensureIndex({open: 1, close: 1}, {background: true})
Ao adicionar fundo ao criar um índice: a verdadeira opção, permitindo a criação de trabalho em segundo plano