Je sais que je dois éviter d'utiliser la clause "IN", mais je ne sais pas comment faire dans ce cas. Le scénario est le suivant: de PHP que je reçois une liste de valeurs, puis construire une requête comme ceci:MySQL: Comment simplifier une requête "IN"
SELECT id FROM
(SELECT * FROM `tips` r
LEFT JOIN (SELECT tip FROM `tips_showed` WHERE user='8') AS a ON r.id=a.tip
WHERE a.tip IS NULL) AS t
WHERE t.id IN
('3','4','5','2','6','7','8','9','10','18',
'11','12','13','14','15','16','17','20') LIMIT 1
Cela rend mon site très lent (parce qu'il est exécuté à chaque fois qu'un utilisateur visite il). Comment peut-il le rendre plus rapide?
Pourquoi ne pas déplacer le «IN» à la sous-sélection? – Halcyon