Buenos dias
Hola a todos..
Les comento , itero una consulta de muy pocos registros hablemos de que son 3500 registros ..
Código:
id_reg id_suc unidad
1 1 10
2 1 20
3 1 30
4 2 50
5 2 35
6 2 5
.............
, por cada
id_suc(Llave foranea) diferente hago un llamado a una funcion que me retorna una arreglo de personajes .
internamente esa funcion maneja una recursividad tipo arbol , mas especificamente un arbol de grafos , como pueden saber ese proceso puede demorarse bastante tratandose de un arbol ...(Aqui es donde digo que toca la base datos la cantidad de veces segun recursividad )...
Si observamos arriba hay dos
id_suc ej : 1 , 2
Al obtener por ejemplo los 700 personajes que retorno por el
id_suc 1 , itero ese arreglo para realizar unas validaciones, finalmente genero un arreglo final por
id_reg y los personajes finales....
si vemos la tabla de arriba, en el segundo ciclo viene el id_reg 2 y el id_suc 1 , ahi ya no tengo que ir a tocar la funcion de recursividad del id_suc 1 porque ya obtuve esa informacion en el primer ciclo .... asi sucesivamente es el proceso...
Es un proceso muy demorado y pesado.
Lo intente de otra manera , iterar el primer arreglo y almacenar en un arreglito los
id_suc, despues recorrer ese arreglito y hacer el llamado a la recursividad ; almacenar todos los personajes en un arreglo final... ese arreglo final me quedo con 1400 personajes....
Iterar nuevamente el arreglo principal y dentro de este iterar el arreglo de personajes y validar el respectivo id_suc ..... de esta manera hum mejoro un poco pero no es significativo ....
A lo que quiero llegar es que ustedes me aconsejen cual es la mejor manera, en algunos casos consultar la base de datos por cada ciclo es rapido , pero en otros casos no .....