Valor fixo de SQL IN () vs. INNER JOIN performance

Em resposta aesta questão SQL, Encontrei uma afirmação de valor fixoIN() operador é muito mais lento queINNER JOIN com o mesmo conteúdo, a tal ponto que é melhor criar tabela temporária para os valores e JOIN-los. É verdade (em geral, com o MySQL, qualquer outro mecanismo SQL) e se sim - por quê? Intuitivamente,IN deve ser mais rápido - você está comparando a correspondência potencial com um conjunto fixo de valores, que já estão na memória e no formato necessário, enquanto que com o JOIN, é necessário consultar os índices, potencialmente carregar dados do disco e executar outras operações isso pode não ser necessário com IN. Estou perdendo algo importante?

Note que ao contrárioessa questão e são muitas duplicatas, eu estou falando sobreIN() tendo conjunto fixo de valores, não subconsulta.

questionAnswers(1)

yourAnswerToTheQuestion