Los mejores índices para la aplicación deben tener en cuenta varios factores, incluidos los tipos de queries que se esperan, la proporción de lecturas en relación con las escrituras y la cantidad de memoria libre en el sistema.
Al desarrollar la estrategia de indexación, se debe tener un conocimiento profundo de las queries de la aplicación. Antes de crear índices, se deben mapear los tipos de queries que se van a ejecutar para poder crear índices que hagan referencia a esos campos. Los índices tienen un costo de rendimiento, pero valen más que el costo para las queries frecuentes en grandes conjuntos de datos. Se debe considerar la frecuencia relativa de cada query en la aplicación y si la query justifica un índice.
La mejor estrategia general para diseñar índices es perfilar una variedad de configuraciones de índices con conjuntos de datos similares a los que ejecutarás en producción para ver cuáles funcionan mejor. Inspecciona los índices actuales creados para tus colecciones para asegurarte de que admitan sus queries actuales y planificados. Si ya no se utiliza un índice, se descarta el índice.
Generalmente, MongoDB solo usa un índice para la mayoría de las consultas. Sin embargo, cada cláusula de un $orLa consulta puede usar un índice diferente y, además, MongoDB puede usar una intersección de múltiples índices.
Los siguientes documentos presentan estrategias de indexación:
- La directriz ESR (Igualdad, Ordenación, Rango)
- La directriz ESR (Igualdad, Clasificación, rango) es una guía para crear índices que admiten tus queries de manera eficiente.
- Crea índices para apoyar tus consultas
- Un índice da soporte a una query cuando el índice contiene todos los campos escaneados por la query. La creación de índices que soportan queries da como resultado un rendimiento de query mucho mayor.
- Utiliza índices para ordenar los resultados de las consultas
- Para facilitar queries eficientes, utiliza las estrategias que aparecen aquí al especificar el orden secuencial y el orden de clasificación de los campos del índice.
- Cree índices selectivos para responder el query de forma eficiente
- Comprende cómo la selectividad del índice desempeña un rol en el rendimiento de la query y aprende a diseñar índices para responder una query determinada de la manera más eficiente.
- Índices únicos y validación de esquema
- Combine estratégicamente las propiedades de los índices y la validación de esquemas para implementar eficientemente el diseño de su aplicación.