Docs Menu
Docs Home
/
Indexes

Trabajar con índices

En esta guía, puede aprender a utilizar índices con el controlador C. Los índices pueden mejorar la eficiencia de las consultas y agregar funcionalidad a la consulta y el almacenamiento de documentos.

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

Para mejorar el rendimiento de las consultas, cree índices en los campos que aparecen con frecuencia en las consultas y operaciones de su aplicación que devuelven resultados ordenados. Cada índice que agregue consume espacio en disco y memoria cuando está activo, por lo que le recomendamos que realice un seguimiento del uso de memoria y disco del índice para 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.

Puedes utilizar wildcard indexes in your MongoDB application to query against fields whose names are not known in advance or are arbitrary. Wildcard indexes are not designed to replace workload-based index planning.

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

Los ejemplos de esta guía utilizan el movies collection in the sample_mflix database from the Atlas sample datasets. To learn how to create a free MongoDB Atlas cluster and load the sample datasets, see the MongoDB Get Started guide.

MongoDB admite varios tipos de índices para facilitar la consulta de datos. Las siguientes páginas describen los tipos de índice más comunes y ofrecen código de ejemplo para crear cada uno.

  • Índices de campo único

  • Índices compuestos

  • Multikey Indexes

  • Índices de búsqueda de MongoDB

Puedes quitar cualquier índice no utilizado excepto el índice único predeterminado en el campo _id. Envía una estructura mongoc_collection_t, el nombre del índice y una estructura opcional bson_error_t a la función mongoc_collection_drop_index() para remover un índice de una colección.

El siguiente ejemplo elimina un índice con el nombre "_title_" de la colección movies:

bson_error_t error;
if (mongoc_collection_drop_index (collection, "_title_", &error)) {
printf ("Successfully dropped index\n");
} else {
fprintf (stderr, "Failed to drop index: %s", error.message);
}

Nota

No se puede eliminar un solo campo de un índice de texto compuesto. Debe eliminar todo el índice y crear uno nuevo para actualizar los campos indexados.

Para aprender más sobre alguna de las funciones tratadas en esta guía, consulta la siguiente documentación de la API:

En esta página