Bonjour à tous, comment améliorer cette requète :

$dataPhoto = $bdd->prepare("SELECT * FROM photos, likes WHERE photos.id_photo = likes.id_photo ORDER BY likes.id DESC LIMIT 1");

Parce que ça fonctionne, mais le temps de chargement de la page est multiplié par 10.

1 réponse


Hello,

Déjà plutôt que de choisir les tables directement, tu peux passer par un FROM + INNER JOIN
Aussi tu peux mettre les champs que tu as besoin uniquement plutôt que tous les champs

SELECT p.id_photos, l.id
FROM photos AS p --Je créé un alias de la table 'photos' qui a comme nom 'p'
INNER JOIN likes AS l on l.id_photo = p.id_photo
ORDER BY l.id DESC
LIMIT 1

Enfin vérifie bien tes index des tables photos et likes