Cita: La idea es quitarle la carga a la Base de Datos (por eso mismo descarté opcion de usar INSERT IGNORE),y he optado por hacer todo el manejo de información desde el codigo.
He probado con in_array (Que basicamente es lo mismo que he hecho) y el resultado es el mismo. No se me ocurre una manera mas optima de manejar tal cantidad de información.
Quitarle a la base una tarea para la cual está específicamente optimizada, no me aprece una decisión correcta.
Precisamente los DBMS están diseñados para realizar tareas con cantidades masivas de datos, en cambio los recursos de las aplicaciones no.
Sería mucho más eficiente hacerlo en la base, pero bueno, es tu decisión.