Asegúrese de decirle a PDO que el valor es un número entero, no una cadena; si PDO lo pone como una cadena, MySQL tendrá que encasillar los valores para compararlos. Dependiendo de cómo se haga esto, podría causar ralentizaciones importantes al hacer que MySQL evite usar un índice.
No estoy completamente seguro sobre el comportamiento aquí, pero tuve este problema con Postgres hace unos años...