J'ai une base de données qui recense à peu près 300 000 entrées.
Chaque entrées corresponds à un fichiers sur un disque dur distant.
POur chaque entrée (ou fichiers sauvegardé dans la base) on as le nom du fichier (NomFich), le repertoire du fichier (DirFich) la taille du fichier (SizeFich) ainsi que la date de création (DateFich).
J'ai une requete qui repère les fichier doublons (même nom, même taille et même date de création)
Le prog en php execute ceci :
$requete2 = "SELECT `NomFich`,`DirFich`,`DateFich`,`SizeFich` FROM FILE GROUP BY `NomFich` HAVING count(`NomFich`)>1";
$execution2 = mysql_db_query("manjari",$requete2);
while ($tableau2=mysql_fetch_array($execution2,MYSQL_ASSOC)){
$Taille = $tableau2['SizeFich'];
$Nom = $tableau2['NomFich'];
$Date = $tableau2['DateFich'];
$requete3 = "SELECT `DirFich`, `SizeFich`,`DateFich` FROM FILE WHERE `NomFich` = '$Nom' AND `SizeFich`= '$Taille' AND `DateFich` = '$Date' ";
La il selectionne les fichiers qui ont le même nom.Pour chaque fichier qui ont le même nom il vas comparer leur date de création, leur taille. Si ces deux parametre sont egaux le fichiers sera declaré comme doublons.
Donc, voulant exécutez cette requete assez rapidement, sans engorgé le réseau, (au bout de 3H il me trouve que 18 fichiers doublons ) n'y aurait-il pas une requete plus légère ou plus rapide a exécuter ?
Merci