Cita: Lo que me sucedía es que a las 4AM se ejecutaba un cron el cual limpiaba la DB de registros con más de 5 días. Bueno, en esos 5 días puede haber más de 650 mil filas (en mi caso). Pero ántes, tenia que hacer unos COUNT de dichas filas y luego borrarlas. Eran 3 o 4 COUNTS. Como no puedo optimizar en este momento dichos count, lo que realizé fué ponerle varios sleep para separar entre count y count y evitar cuellos de botella.
Bueno, esa es una actividad habitual para tablas transaccionales, pero siempre se hace con la base OFF LINE.
¿Así lo realizabas, o lo hacías en caliente?
Cita: En mi caso, no optimizé al comienzo por falta de conocimiento y porque era una prueba más que otra cosa. Hoy, tiene otro enfoque.
Llegado a ese punto, te recomiendo reingeniería, aunque te lleve un año o más de desarrollo.