Bonjour à tous,

Je dois parser un txt de 35 000 lignes environ afin de remplir deux tables mysql.

Chaque ligne du txt comprend une vingtaine de données séparées par ";"
La première donnée est une sorte de préfixe :
Si c'est A, on remplit la table A.
Si c'est B, la table B

Je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
$content = file($dossier.$file);
foreach($content as $line){
        $part = explode(";", $line);
	$prefix = $part[0];
	switch($prefix){
        case "A":
		$id = $part[1];
		$nom = $part[2];
		$adresse = $part[3];
		$adresse2 = $part[4];
		$lieu_dit = $part[5];
		$code_postal = $part[6];
		$ville = $part[8];
		etc...
	        mysql_query("INSERT INTO table A (id, nom...) VALUES (...)");
 
        break;
        case "B":
               IDEM A mais avec dautres données
               mysql_query("INSERT INTO table B (id, ...) VALUES (...)");
        }
}
Mais ca dépasse, sur mon serveur local (EasyPHP 5.3.8) le max_execution time pourtant réglé à 180 secondes.

Comment pourrais-je optimiser tout ça ?
Merci d'avance pour vos précieux conseils.