Con la información que das sobre la base de datos no se puede decir nada...
Esas tres tablas què significan?
Son necesarias o se podrian unir en una sola y diferenciar los registros con el valor de un campo?
O podrias tener una tabla principal con TODOS los registros y sus datos comunes y los no comunes en tablas a parte referenciadas...
Si trabajas con una sola tabla y el dato que viene del excel es la PK o un indice unico no necesitas ver si ya esta... si esta no entrará de nuevo.... Leete esto
http://stackoverflow.com/questions/5...ate-key-update
En cuanto a la tabla conoces el formato csv.... quizas seria mas rapido que generar una tabla HTML...
putcsv PHP 5 >= 5.1.0
http://www.cesarvalladares.com/wordp...ble-desde-php/