El problema es que no ha definido sus condiciones lo suficiente. Es decir. ¿Qué estás optimizando exactamente?
Por ejemplo, ¿está apagado el sistema para el mantenimiento nocturno y no hay usuarios en el sistema?¿Y borras un gran% de la base de datos?
Si está fuera de línea y elimina un gran%, puede tener sentido crear una nueva tabla con datos para guardar, descartar la tabla anterior y renombrarla. Si elimina un% pequeño, es probable que desee agrupar las cosas en lotes tan grandes como lo permita su espacio de registro. Depende completamente de su base de datos, pero la caída de índices durante la reconstrucción puede dañar o ayudar, incluso si es posible debido a estar "fuera de línea".
Si está en línea, ¿cuál es la probabilidad de que sus eliminaciones entren en conflicto con la actividad del usuario (y la actividad del usuario es principalmente leer, actualizar o qué)? ¿O está tratando de optimizar la experiencia del usuario o la velocidad de hacer su consulta? Si está eliminando de una tabla que otros usuarios actualizan con frecuencia, debe hacerlo por lotes pero con tamaños de lote más pequeños. Incluso si hace algo así como un bloqueo de tabla para forzar el aislamiento, eso no sirve de mucho si su enunciado de eliminación demora una hora.
Cuando define mejor sus condiciones, puede elegir una de las otras respuestas aquí. Me gusta el enlace en la publicación de Rob Sanders para dosificar cosas.
Pregunta a los usuarios avanzados: esta pregunta no tiene una sola respuesta, es más una especie de base de conocimiento que una simple pregunta-respuesta. ¿Puede ser que se convierta en una wiki comunitaria? (si entiendo bien para qué sirve c.w.) – pomarc
Me gustaría verlo como un resumen en curso. Esta publicación fue muy útil para mí, pero me llevó horas leer las sugerencias. He enviado una edición con un nuevo resumen que fue rechazado, esperando ver si se realiza el segundo intento :) – xero
@xero Revertí la edición, puede marcar a un administrador para llamar la atención (usar otro) después de leer [Si el ¿La policía wiki de la comunidad se cerrará?] (http://meta.stackexchange.com/questions/392/should-the-community-wiki-police-be-shut-down) [¿Qué podemos hacer para mejorar Community Wiki? ] (http://meta.stackexchange.com/questions/67039/what-can-we-do-to-make-community-wiki-better) y http://meta.stackoverflow.com/a/266921 – bummi