Insertion par batch en php
Bonjour tous le monde,
je cherche des retours d'experience concernant les batches PHP
voici mon probleme:
j'ai 300M de fichier sql chaque fichier contient des insertions dans 3 tables:
- country
- city
- region
pour cela, je veux optimiser mon programme suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
foreach ($sel_country as $id_country => $name_country){
foreach ($country[$id_country]['part'] as $part_number => $part_country){
//path to sql file
$db_file = "/".$part_country.".sql";
$f_sql = fopen($db_file,"r");
while (!feof($f_sql)) {
$strSQL = fgets($f_sql);
//insert data
$model->executeQuery($strSQL))
}
//close the file
fclose($f_sql);
}
} |
conteneu des fichiers:
Code:
1 2 3 4 5
|
INSERT INTO country (id, name, id_country) VALUES (1,'Afghanistan',0)
INSERT INTO region (id, id_country, name) VALUES (1,1,'Velayat-e Badakhshan')
INSERT INTO city (id, id_country, name, zip_code, region_code, id_region, lat, lon) VALUES (1,1,'Ab Gach','','',1,36.9833332,72.7000000)
....... |