Bonjour,
j'ai un site avec une table qui compte 200 000 entrées, j'utilise un cron job, qui, toutes les 5 minutes, controlent ces entrées, j'aimerai savoir comment les requetes SQL procedent quand il y a plusieurs WHERE pour pouvoir optimiser mes requetes.
Je recupère des infos depuis plusieurs centaines de flux RSS, je recupère les infos de ces news, si elles sont déjà présentes dans ma base de donnée, je ne les recupere pas, et je stocke les news pas présentes dans ma base..
Pour chaque news de chaque flux rss je la compare donc pour voir si elle est présente dans ma base, un gros travail vu qu'il y a plus de 200 000 entrées.
J'utilise l'adresse url du lien vers la news ou la date pour comparer et vérifier l'existence d'une news, j'execute donc une requete pour chaque news de chaque flux, c'est cette requete que je souhaite optimiser...
id_feed correspond à l'id unique d'un flux rss, comme ça la requete ne chercherait l'url du lien parmi uniquement les news ayant le bon id de flux..
Si je met dans ma requête SELECT * WHERE url_news="le_lien_vers_lanews.php" AND id_feed=5"
Est ce que MySQL va filtrer les champs qui ont id_feed=5 et chercher uniquement parmi eux si url_news est bien égal à "le_lien_vers_lanews.php", ou alors est ce qu'il va chercher parmi les 200 000 champs la valeur texte de url_news PUIS l'id_feed ???
J'aimerai bien comprendre comment dire dans une requete de trier d'abord avec id_feed et ensuite verifier l'url_news et pas l'inverse
Merci beaucoup
Partager