Upewnij się, że mówisz PDO, że wartość jest liczbą całkowitą, a nie łańcuchem; jeśli PDO umieści go jako ciąg, to MySQL będzie musiał typować wartości w celu porównania. W zależności od tego, jak to się dzieje, może to spowodować poważne spowolnienie, powodując, że MySQL będzie unikał używania indeksu.
Nie jestem do końca pewien co do zachowania tutaj, ale miałem ten problem z Postgresem kilka lat temu...