J'essaye d'importer un fichier dans une table MySql

Le fichier contient environ 40 000 lignes mais j'arrive au grand max à importer 3000 lignes, cela varie, ce n'est pas toujours la même ligne qui ne passe pas.

J'ai essayé avec:

$file= file('fichieraimporter.txt')
puis un foreach($file as $value) puis génération/exécution de ma requête

et j'ai essayé avec:

$handle= fopen('C:\fichieraimporter.txt',"r");
while (!feof($handle))
{
$buffer=fgets($handle);
génération/exécution de ma requête
}

La requête fait simplement un "INSERT INTO..."


C'est quoi le souci j'ai un problème d'utilisation mémoire?