Większość pozostałych odpowiedzi nie dostarcza niczego rozstrzygającego, a jedynie spekulacje. Tak więc, w oparciu o dobre rady z odpowiedzi @Namphibian
, uruchomiłem EXPLAIN
na niektórych zapytaniach podobnych do tych w OP.
Wyniki są poniżej:
EXPLAIN
dla zapytania z = 1
:
EXPLAIN
dla zapytania z IN(1)
:
EXPLAIN
dla zapytania z IN(1,2,3)
:
Jak widać, MySQL optymalizuje IN(1)
być taki sam jak = 1
w tego rodzaju zapytaniach. odpowiedź @mes
wydaje się jednak wskazywać, że nie zawsze może tak być w przypadku bardziej złożonych zapytań.
Tak więc dla tych, którzy byli zbyt leniwi, aby uruchomić EXPLAIN
sami, teraz wiesz. I tak, możesz chcieć uruchomić EXPLAIN
na własne zapytanie, aby mieć pewność, że jest to obsługiwane w ten sposób. :-)