SQL de valor fijo IN () vs INNER JOIN rendimiento

En respuesta aesta pregunta SQL, Me encontré con una declaración de valor fijoIN() el operador es mucho más lento queINNER JOIN con el mismo contenido, hasta el punto de que es mejor crear una tabla temporal para los valores y UNIRSE a ellos. ¿Es cierto (en general, con MySQL, cualquier otro motor SQL) y si es así, ¿por qué? IntuitivamenteIN debería ser más rápido: está comparando la coincidencia potencial con un conjunto fijo de valores, que ya están en la memoria y en el formato necesario, mientras que con JOIN tendría que consultar los índices, potencialmente cargar datos desde el disco y realizar otras operaciones eso puede no ser necesario con IN. ¿Me estoy perdiendo algo importante?

Tenga en cuenta que a diferencia deesta pregunta y son muchos duplicados, estoy hablando deIN() teniendo un conjunto fijo de valores, no subconsulta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta