hi @ all!
ich habe vor, aus einem ordner (aktuell ca. 2500 dateien) die einzelnen dateinamen auszulesen und mit der passenden db vergleichen, ob der dateinamen auch in der db eingetragen ist.
wenn nicht, dann soll er mir die datei anzeigen.
(vielleicht zur leichteren erklärung -> ich lade filmcover hoch und trage dann die filmdaten dazu ein, ... kann aber vorkommen, dass ich ein cover hochlade und nicht gleich dazukomme, die filmdaten einzutragen. daher möchte ich kontrollieren, ob noch welche 'offen' sind)
das ganze ist ja nun auch ganz einfach und leicht zu lösen.
nun aber zu meiner frage:
warum dauert es so lange, bis die abfrage fertig ausgeführt ist? ist die datenmenge von 2500 dateinamen mit 2500 db-einträgen untereinander zu vergleichen so zeitaufwendig (theoretisch sind das ja 6.250.000 vergleiche, die angestellt werden müssen, oder)
es dauert über eine minute ... ist das normal, oder hab ich das ganze nicht 'perfekt' optimiert?!
ich habe vor, aus einem ordner (aktuell ca. 2500 dateien) die einzelnen dateinamen auszulesen und mit der passenden db vergleichen, ob der dateinamen auch in der db eingetragen ist.
wenn nicht, dann soll er mir die datei anzeigen.
(vielleicht zur leichteren erklärung -> ich lade filmcover hoch und trage dann die filmdaten dazu ein, ... kann aber vorkommen, dass ich ein cover hochlade und nicht gleich dazukomme, die filmdaten einzutragen. daher möchte ich kontrollieren, ob noch welche 'offen' sind)
das ganze ist ja nun auch ganz einfach und leicht zu lösen.
nun aber zu meiner frage:
warum dauert es so lange, bis die abfrage fertig ausgeführt ist? ist die datenmenge von 2500 dateinamen mit 2500 db-einträgen untereinander zu vergleichen so zeitaufwendig (theoretisch sind das ja 6.250.000 vergleiche, die angestellt werden müssen, oder)
es dauert über eine minute ... ist das normal, oder hab ich das ganze nicht 'perfekt' optimiert?!
PHP-Code:
$ordner = "./meinordner";
$handle = opendir($ordner);
while ($file = readdir ($handle)) {
if($file != "." && $file != "..") {
$sql = mysql_query("SELECT Dateiname from tabelle WHERE Dateiname like '$file'");
$sq = mysql_num_rows($sql);
if($sq == 0)
{
echo $file;
}
}
}
closedir($handle);
Kommentar