Die meisten anderen Antworten liefern nichts schlüssiges, nur Spekulationen. Basierend auf dem guten Rat von @Namphibians Antwort
, habe ich ein EXPLAIN
ausgeführt bei einigen Abfragen, die denen im OP ähneln.
Die Ergebnisse sind unten:
EXPLAIN
für eine Abfrage mit = 1
:
EXPLAIN
für eine Abfrage mit IN(1)
:
EXPLAIN
für eine Abfrage mit IN(1,2,3)
:
Wie Sie sehen können, optimiert MySQL IN(1)
gleich sein wie = 1
in dieser Art von Abfrage. Antwort von @mes
scheint darauf hinzudeuten, dass dies jedoch bei komplexeren Abfragen nicht immer der Fall ist.
Also für diejenigen, die zu faul waren, EXPLAIN
auszuführen selbst, jetzt wissen Sie es. Und ja, vielleicht möchten Sie EXPLAIN
ausführen auf Ihre eigene Anfrage, um sicherzustellen, dass dies so gehandhabt wird. :-)