Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 5609|Respuesta: 2

Visualización y creación de índices en MongoDB

[Copiar enlace]
Publicado en 11/2/2022 17:46:29 | | | |
Índice MongoDB

Sin índices, MongoDB tendría que escanear cada archivo de la colección y seleccionar aquellos registros que cumplan los criterios de consulta al leer datos.

Este tipo de eficiencia de consulta al escanear todo el conjunto es muy baja, especialmente al procesar una gran cantidad de datos; la consulta puede tardar decenas de segundos o incluso minutos, lo que es muy fatal para el rendimiento del sitio web.

Los índices son estructuras de datos especiales almacenadas en una colección de datos que pueden leerse fácilmente sobre un índice, y los índices son una estructura que ordena los valores de una o más columnas en una tabla de base de datos.

Revisión:

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

Consulta el plan de ejecución

Ejemplos de afirmaciones:

Sin crear un índice (winningPlan:COLLSCAN), como se muestra en la figura siguiente:



La función explain() también puede recibir diferentes parámetros, y puedes ver un plan de consulta más detallado estableciendo distintos parámetros.

Los parámetros incluyen:queryPlanner (por defecto)、EstadísticasEjecución、TodosPlanEjecución

Ejecuta explain("executionStats") y verás que hay más estadísticas en el plan de ejecución.

parámetrosignificado
totalKeysExaminedNúmero de escaneos de índice
totalDocsExaminedNúmero de escaneos de documentos
nReturnedEl número de resultados devuelto
executionTimeMillisLa ejecución es laboriosa
EjecuciónÉxitoSi la ejecución fue exitosa

Crear un índice

MongoDB utiliza el método createIndex() para crear índices.

Cabe señalar que antes de la versión 3.0.0, el método de creación de índices era db.collection.ensureIndex(), y versiones posteriores usaban el método db.collection.createIndex().

Crear un único índice


Crear un índice compuesto

En la sintaxis, el valor clave es el campo índice que quieres crear, 1 se especifica para crear un índice en orden ascendente, y si quieres crear un índice en orden descendente, puedes especificar -1.Antecedentes para especificar que los índices se crean en segundo plano, es decir, añadir el parámetro opcional "fondo". "background" se pone por defecto en false.

Índices de consulta

El comando es el siguiente:



Eliminar el índice

Eliminar todos los índices

Eliminar el índice especificado

(Fin)




Anterior:Cómo restringir el registro de usuarios taiwaneses, publicar información a voluntad y pedir consejo sobre cómo escribir.
Próximo:[Combate real]. NET/C# exporta la caché usando la consulta difusa StackExchange.Redis
 Propietario| Publicado en 11/2/2022 17:49:16 |
Proceso lento de análisis de consultas:

1. Utilizar el registro lento de consultas (system.profile) para encontrar sentencias que superen los 200 ms

2. Luego usa .explain() para analizar el número de filas afectadas y analizar por qué supera los 200 ms

3. Decide si necesitas añadir un índice

Activar la consulta lenta:


Parámetro:

0: Cerrado, no se recogen datos.
1: Recoge datos de consulta lenta, el valor predeterminado es 100 milisegundos.
2: Recopilar todos los datos

Revisa los resultados:


Nota: Se puede decir que los índices son básicamente permanentes en la memoria; si la cantidad de datos alcanza los 100 millones, cuanto menor sea el número de índices, mejor, porque ocupará una gran cantidad de memoria. Según Internet, 1 millón de índices representan unos 50 millones de memoria. Si son 100 millones, entonces ocuparán memoria 5G.

Publicado en 13/2/2022 16:30:52 |
docto...
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com