Bonsoir à tous !
Je viens de m'apercevoir de quelque chose de vraiment surprenant sur un de mes scripts php, si quelqu'un a une explication, je suis preneur avec grand plaisir.
Je fais deux requêtes identiques sur une vue contenant 750 lignes.
La seule différence que je rajoute à l'une d'entre elle :
colonne prend uniquement ses deux valeurs (true / false), donc clairement le filtre ne change rien au point de vue résultats de la requête. De plus ce n'est pas une colonne indexée.
La différence est surprenante :
Temps après requete sans le filtre => 3.6894 secondes.
Temps après requete avec le filtre => 0.0075 secondes.
je mesure juste avant et après le $result = mysql_query($sql);
Auriez vous une piste ?
Savez vous si ce comportement est identique lorsque le volume de données devient bien plus important ?
Merci et bonne nuit
Je viens de m'apercevoir de quelque chose de vraiment surprenant sur un de mes scripts php, si quelqu'un a une explication, je suis preneur avec grand plaisir.
Je fais deux requêtes identiques sur une vue contenant 750 lignes.
La seule différence que je rajoute à l'une d'entre elle :
Code:
WHERE .... and (colonne='0' or colonne='1')
colonne prend uniquement ses deux valeurs (true / false), donc clairement le filtre ne change rien au point de vue résultats de la requête. De plus ce n'est pas une colonne indexée.
La différence est surprenante :
Temps après requete sans le filtre => 3.6894 secondes.
Temps après requete avec le filtre => 0.0075 secondes.
je mesure juste avant et après le $result = mysql_query($sql);
Auriez vous une piste ?
Savez vous si ce comportement est identique lorsque le volume de données devient bien plus important ?
Merci et bonne nuit
