Salut à tous,
J'ai cette requête MySql ci-dessous qui fonctionne mais qui est très lente, je voudrais l'optimiser, je me demandais donc si c'était possible de passer par une requête imbriquée pour que ce soit plus rapide et d'éviter la double boucle while qui ralentit fortement l'affichage des résultats.
Cette requête sert à afficher des données dans un graphique.
Ma table MySql contient plus de 650 000 lignes.
Quelqu'un voit-il une solution pour optimiser ma requête ?
D'avance merci pour votre aide.
J'ai cette requête MySql ci-dessous qui fonctionne mais qui est très lente, je voudrais l'optimiser, je me demandais donc si c'était possible de passer par une requête imbriquée pour que ce soit plus rapide et d'éviter la double boucle while qui ralentit fortement l'affichage des résultats.
Cette requête sert à afficher des données dans un graphique.
Ma table MySql contient plus de 650 000 lignes.
Code:
$data_X_1 = "";
$data_Y_1 = "";
$requete1 = get_requete("SELECT DISTINCT YEAR(`date`) FROM `ma_table` WHERE critere1='$critere1' AND critere2='$critere2' AND critere3='$critere3' AND critere4!=0 ORDER BY `date`");
while($voir1 = $MysqliFetchArray($requete1))
{
$requete = get_requete("SELECT critere4 FROM `ma_table` WHERE YEAR(`date`)='".$voir1[0]."' AND critere1='$critere1' AND critere2='$critere2' AND critere3='$critere3' ORDER BY `date` DESC LIMIT 1");
while($voir = $MysqliFetchArray($requete))
{
$data_X_1 .= "'".$voir1[0]."', ";
$data_Y_1 .= "$voir['critere4']";
}
}
Quelqu'un voit-il une solution pour optimiser ma requête ?
D'avance merci pour votre aide.