Docs Menu
Docs Home
/ /
Administración

Descartar un índice de clave de partición con hash

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.

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.

1

Ejecuta el siguiente comando para detener el balanceador:

sh.stopBalancer()

Solo se puede ejecutar sh.stopBalancer() en mongos. sh.stopBalancer() produce un error si se ejecuta en mongod.

2

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 cleanupOrphaned del fragmento

  • La colección a la que se hace referencia en el espacio de nombres cleanupOrphaned no está fragmentada

Un valor de 0 indica que se ha producido un error.

Repita este paso en cada principal del mongod clúster.

3

Ejecute el siguiente comando para eliminar el índice:

db.collection.dropIndex("<index name>")
4

Ejecute el siguiente comando para reiniciar el balanceador en el clúster:

sh.startBalancer()

Volver

Bandera jumbo transparente

En esta página