temps de chargement des données
Posté : 10 févr. 2006, 18:54
Salut,
J'essaie de faire un fichier type csv avec les données de différentes tables. Une de mes tables contient environ 11 000 enregistrements, mais je n'en selectionne que 1000.
Lorsque je fais ma requête il faut compter environ 1 min 15 pour voir le resultat.
J'applique la meme requete sous phpmyadmin, il met à peu prés..... 10 sec.
Voici mon code:
j'ai bien mis des index sur les champs utiles de ma table (quand je fais un explain le nombre de ligne analysé passe de 11 000 à 1 000).
et je ne vois aucune différence, le temps est exactement le meme.
Quelqu'un aurait-il une idée brillante qui illuminerait mon cerveau complètement assombri par cette histoire.
merci.
J'essaie de faire un fichier type csv avec les données de différentes tables. Une de mes tables contient environ 11 000 enregistrements, mais je n'en selectionne que 1000.
Lorsque je fais ma requête il faut compter environ 1 min 15 pour voir le resultat.
J'applique la meme requete sous phpmyadmin, il met à peu prés..... 10 sec.
Voici mon code:
if ( !isset($_GET['date']) ) { $_GET['date'] = "2006-01-01 00:00:00"; }
else { $_GET['date'] = urldecode($_GET['date']); }
$listeTables = array( "article","cat3","cat2","cat1","client", "marques" );//
$nbtot_resultat =0;
$csv ="";
foreach ( $listeTables as $value ) {
$query_resultat="SELECT * FROM `".$value."` WHERE date_modif >= '".$_GET['date']."' ; ";//EXPLAIN
$r_resultat = @mysql_unbuffered_query($query_resultat, $bdd_smd) or (die(mysql_error));
$nb_chp = @mysql_num_fields($r_resultat);
while ( $resultat= @mysql_fetch_array($r_resultat, MYSQL_NUM ) ) {
for ($j=0; $j < $nb_chp ; $j++ ) {
$csv .= "\"".$resultat[$j]."\";";
}
$csv = substr($csv, 0, -1)."\n";
}
@mysql_free_result($r_resultat);
}
echo $csv;
J'ai regardé le code dans myadmin, mais je n'ai rien vu de transcendental.j'ai bien mis des index sur les champs utiles de ma table (quand je fais un explain le nombre de ligne analysé passe de 11 000 à 1 000).
et je ne vois aucune différence, le temps est exactement le meme.
Quelqu'un aurait-il une idée brillante qui illuminerait mon cerveau complètement assombri par cette histoire.
merci.