Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

junção interna e onde o desempenho da cláusula in ()?


Depende do seu mecanismo SQL. Os sistemas SQL mais novos que possuem otimizadores de consulta razoáveis ​​provavelmente reescreverão ambas as consultas no mesmo plano. Normalmente, uma subconsulta (sua segunda consulta) é reescrita usando uma junção (a primeira consulta).

Em mecanismos SQL simples que podem não ter ótimos otimizadores de consulta, a junção deve ser mais rápida porque eles podem executar subconsultas em uma tabela temporária na memória antes de executar a consulta externa.

No entanto, em alguns mecanismos SQL que têm espaço de memória limitado, a subconsulta pode ser mais rápida porque não requer junção - o que produz mais dados.

Então, resumindo, depende.