Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Consideraciones y gestión de índices

En esta guía, puedes aprender acerca de cómo usar índices para mejorar la eficiencia de tus queries y agregar funcionalidad a la query y almacenar documentos.

Sin un índice relevante, MongoDB escanea todos los documentos de una colección para encontrar los que coinciden con una consulta. Estos escaneos de colecciones son lentos y pueden afectar negativamente el rendimiento de la aplicación. Sin embargo, si existe el índice adecuado, MongoDB puede usarlo para reducir la cantidad de documentos a inspeccionar.

Para mejorar el rendimiento de las consultas, cree índices en los campos que aparecen con frecuencia en las consultas u operaciones de su aplicación que devuelven resultados ordenados. Cada índice que agregue consume espacio en disco y memoria, por lo que le recomendamos que controle el uso de memoria y disco al planificar la capacidad. Además, cuando una operación de escritura actualiza un campo indexado, MongoDB actualiza el índice relacionado, lo que puede afectar negativamente al rendimiento de las operaciones de escritura.

Puede usar Índices comodín en su aplicación MongoDB para consultar campos cuyos nombres no se conocen de antemano o son arbitrarios. Los índices comodín no están diseñados para reemplazar la planificación de índices basada en la carga de trabajo.

Para obtener más información sobre cómo diseñar su modelo de datos y elegir índices, consulte la guía Crear índices para admitir sus consultas en el manual de MongoDB Server.

Los ejemplos de esta guía utilizan el movies colección en la base de datos sample_mflix de los Conjuntos de datos de muestra de Atlas. Para aprender a crear una implementación gratuita de MongoDB y cargar los conjuntos de datos de muestra, consulta la guía Primeros pasos en MongoDB.

MongoDB soporta varios tipos de índices para ayudar a consultar tus queries. Las siguientes páginas describen los diferentes tipos de índices y proporcionan código de muestra para crear cada tipo de índice de forma programática.

  • Índices de un solo campo

  • Índices compuestos

  • Multikey Indexes

  • Índices de búsqueda de MongoDB

Puede recuperar una lista de índices de una colección llamando al método MongoDB\Collection::listIndexes():

foreach ($collection->listIndexes() as $indexInfo) {
echo $indexInfo;
}

Puedes remover cualquier índice no utilizado, excepto el índice único por defecto en el campo _id.

Las siguientes secciones proveen ejemplos que muestran cómo remover uno o más índices de una colección.

Pasa el nombre de un índice al método MongoDB\Collection::dropIndex() para remover un índice de una colección.

El siguiente ejemplo elimina el índice '_title_' de la colección movies:

$collection->dropIndex('_title_');

Nota

No puedes remover un solo campo de un índice compuesto. Debes descartar el índice completo y crear uno nuevo para actualizar los campos indexados.

Puedes borrar todos los índices llamando al método MongoDB\Collection::dropIndexes() en una colección:

$collection->dropIndexes();

Para aprender más sobre cualquiera de los métodos o tipos analizados en esta guía, consulta la siguiente documentación de API:

Volver

Indexes

En esta página