1. Realizar una consulta a la BD, obtener todos los registros de la tabla tbl_blacklist y ponerlos en un array
2. Realizar una consulta a la BD, obtener todos los registros de la tabla tbl_cmdatabase y ponerlos en un array
3. Hacer un array_merge para que me quede en uno solo
4. Por cada fila que encuentre en el Excel y usando la funcion in_array verifico que el valor no este y asi me da la seguridad de que al menos en esas dos tablas no va a estar.
Esto es super bien lento y no encuentro forma de hacerlo mas sencillo. Que me sugieren? Alguna idea? Debo cambiar el algoritmo o hacer algun tipo de optimizacion en la BD para que se ejecute mas rapido? Estoy realizando pruebas en una VM con CentOS 6.4 y 3GB de RAM no quiero ni ver que sucede si lo subo a mi hosting
Por otro lado y relacionado con este mismo problema, tengo otra situacion y es que debo mostrar para luego generar un fichero Excel los registros desde el 1 hasta el 194 074 avanzando en un valor que me entren en la aplicacion, digamos que entre 1000 entonces lo que estoy haciendo es generar una tabla HTML que comienza en 1 y aumenta de 1000 en 1000 de la siguiente forma:
Código:
Y asi sucesivamente pero esto es tambien super lento y a veces demora hasta unos 3 min en generarse la pagina. Cuando le doy generar el Excel y quiero comenzar en 1001 a 2000 demora 10 min cosa que suena bien loco porque cualquier hosting da como maximo 60 seg o algo asi.1-1000 1001-2000 2001-3000
Todas las pruebas las hago en local, que me sugieren?
Saludos