A partir de MongoDB 5.0.22, puedes descartar el índice de una clave de partición con hash.
Esto puede acelerar la inserción de datos para colecciones fragmentadas con una clave de fragmento con hash. También puede acelerar la ingesta de datos al usar
mongosync.
Acerca de esta tarea
Eliminar un índice innecesario puede acelerar las operaciones CRUD. Cada operación CRUD debe actualizar todos los índices relacionados con un documento. Eliminar un índice puede aumentar la velocidad de todas las operaciones CRUD.
Al eliminar un índice de clave de fragmento con hash, el servidor desactiva el balanceo de esa colección y la excluye de futuras rondas de balanceo. Para volver a incluir la colección en las rondas de balanceo, debe volver a crear el índice de clave de fragmento.
Importante
Solo debe eliminar un índice de clave de fragmento con hash de una colección si existe un índice sin hash compatible en la clave de fragmento. Si no existe un índice sin hash compatible en la clave de fragmento, las consultas que filtran por la clave de fragmento realizan una Análisis de colección. Para ver qué índices existen en una colección,db.collection.getIndexes() utilice.
Pasos
Confirme que no haya documentos huérfanos en su colección
Advertencia
Omitir este paso hace que informe un recuento incorrecto de documentos huérfanos y afecta las operaciones de equilibrio si se vuelve a agregar el $collStats índice.
Ejecute el siguiente comando en el principal para cada fragmento del mongod clúster:
db.runCommand( { cleanupOrphaned: "<database>.<collection>" } )
cleanupOrphaned devuelve 1 o 0.
Un valor de 1 indica que:
No quedan documentos huérfanos en el espacio de nombres
cleanupOrphaneddel fragmentoLa colección a la que se hace referencia en el espacio de nombres
cleanupOrphanedno está fragmentada
Un valor de 0 indica que se ha producido un error.
Repita este paso en cada principal del mongod clúster.