Hola como estas?
te comento que tenia el mismo problema pero con archivos de texto (txt) pero con muchas mas cantidad de lineas y el procedimiento era bastante pesado tambien...
Lo mejore cambiando algunas cosas que optimizaron de forma sorprendente!!
(Aclaro que lo hice sobre interbase)
Primero:
Interbase tiene una particularidad, que podemos crear una tabla a partir de un archivo enterno, por ejemplo el txt
Por supuesto que tiene que tener ciertas caracteristicas este archivo, pero ya no es lo mismo aplicarlo sobre el archivo de texto que sobre una tabla!!!
Segundo:
En las tablas que son afectadas por el procedimeinto creo indices! y en el procedimiento todas las relaciones y consultas las hago tratando de utilizar esos indices!
La caracteristicas que tiene que tener el archivo para que interbase te lo reconosca, te lo paso mañana...No estoy en casa ahora....
Espero que te sirva..
Atte Saluda Neeruu