Baš sam malo pre trebao neki CSV fajl da ubacim u bazu i prisetio sam se ove diskusije... evo kako sam uradio
Prvi put:
Code:
$fd = fopen("CSV.txt", "r");
while($sadrzaj=fgets($fd,1024))
{
list($jed,$dva,$tri,$cet)=explode("\",\"",$sadrzaj);
echo 'INSERT INTO `ip2county` (`from`,`to`,`country_2`,`zemlja`) VALUES ($jed\",\"$dva\",\"$tri\",\"$cet);<br />';
#$sql=mysql_query("INSERT INTO `ip2county` (`from`,`to`,`country_2`,`zemlja`) VALUES ($jed\",\"$dva\",\"$tri\",\"$cet);") OR die(mysql_error());
}
$endtime = micro_time();
$krajvremena = $endtime - $astarttime;
echo "<br>Uzeto je $krajvremena sekunde<br>";
Vreme
75.159842968
ovo je drugi put
Code:
$fd = fopen("CSV.txt", "r");
while($sadrzaj=fgets($fd,1024))
{
list($jed,$dva,$tri,$cet)=explode("\",\"",$sadrzaj);
#echo 'INSERT INTO `ip2county` (`from`,`to`,`country_2`,`zemlja`) VALUES ($jed\",\"$dva\",\"$tri\",\"$cetri);<br />';
#$sql=mysql_query("INSERT INTO `ip2county` (`from`,`to`,`country_2`,`zemlja`) VALUES ($jed\",\"$dva\",\"$tri\",\"$cet);") OR die(mysql_error());
<?
INSERT INTO `ip2county` (`from`,`to`,`country_2`,`zemlja`) VALUES ($jed\",\"$dva\",\"$tri\",\"$cet);<br />
?>
}
$endtime = micro_time();
$krajvremena = $endtime - $astarttime;
echo "<br>Uzeto je $krajvremena sekunde<br>";
Vreme:
79.070562005
Razlika je oko ~3,9 sekunde što je ipak razumno pošto je fajl velik oko ~800KB.
A pogotovo ova razlika neće da se oseti ako se skripta izvšava manje od 1sec.
P.S. Ako se neko buni zašto nisam koristio "LOAD DATA" u mysql-u, zato što mysql4.0 nema tako nešto :(