J'ai une base de données MySQL avec plus de 10 000 lignes. Lorsque j'exécute la requête pour obtenir toutes les lignes dans les 24 heures, il faut beaucoup de temps pour obtenir les résultats:
$sql = "SELECT *, DATE_FORMAT(m.time, "%d.%m.%Y %H:%i:%s") AS date
FROM markers m,pid p
WHERE m.time >=DATE_SUB(NOW(), INTERVAL 24 HOUR)
AND m.pidID=p.id";
J'ai lu sur l'indexation des tables, mais je n'ai pas pu l'adapter à ma requête. Quelqu'un peut-il expliquer s'il vous plaît comment changer la requête ci-dessus avec l'indexation afin que la requête ne pas une analyse complète de la table?
Réponses:
0 pour la réponse № 1Les requêtes bénéficient généralement des index sur les champs utilisés dans leur WHERE
et JOIN...ON
conditions (et ORDER|GROUP BY
listes).