Mientras escribo al mismo tiempo pienso en una situación que crea dos problemnas.

SITUACION:
Inicialmente me estan pidiendo una rutina para uso interno que verifique en tablas medianas unas comprobaciones básicas que otras personas no hicieron. Incluye unos subselect anidados, y será un proceso pesado. Se indica el cliente, yo calculo su identidad y verifico contra el detalle.

PROBLEMA 1:
el proceso implica una cantidad tremenda de tablas (2 por cada cliente) porque se estableció de esa manera por las máquinas virtuales. No puedo crear índices en tablas que no existen y pierdo tiempo verificando si existen. No puedo asumir que existen o que estan bien diseñados. En el cliente ejemplo, La tabla Padre usa 4003 registros, la hija unos 16 mil. Esto indica por lo menos correr 8006(padre*2) ordenes sql, debido a que justamente estamos detectando inconsistencias entre totales, para correr otras sql correctivas. Evidentemente esto puede causar sobrecarga, pero no puedo alterar de manera definitiva tablas que no existen todavia (de los clientes que se hará) y es mas suceptible a fallas. Las tablas actuales, siguiendo la norma de diseño que implanté usan INOODB y no MYISAM aunque no usan integridad referencial.

Cual es el alcance ?
Se deduce que esa unidad de negocio no tiene implementado diseño de unidades de prueba, y la carencia de índices indica que nadie tiene idea de mantenimiento a Bases de datos posterior… ni control de calidad sobre el diseño de base de datos.

La consulta a realizar es pesada, de uso interno, bajo pedido de alguien de soporte, y debe mostrar el avance en un lugar fijo de pantalla para que no piensen que se paralizó. Preferentemente mostrar loads de linux.

Solución:
Implementar un innerhtml para que se vea el avance. Crear uno o mas indice y borrarlo al terminar. Una hora o dos de codificación para el reporte.

=======================================
Problema 2:

Igualito al alcance:

Se deduce que esa unidad de negocio no tiene implementado diseño de unidades de prueba, y la carencia de índices indica que nadie tiene idea de mantenimiento a Bases de datos posterior… ni control de calidad sobre el diseño de base de datos.