Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 17-04-2008, 15:13
jeichi
 Registrierter Benutzer
Links : Onlinestatus : jeichi ist offline
Registriert seit: Oct 2003
Beiträge: 99
jeichi ist zur Zeit noch ein unbeschriebenes Blatt
Standard mysql - ordner auslesen und auf existenz mit db vergleichen

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?!


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); 
Mit Zitat antworten