Sei que JOIN em colunas indexadas é mais rápido que subconsultas em um resultado de consulta.
Estou confuso se: JOINs em colunas não indexadas também são mais rápidos que subconsultas ou não.
Sei que JOIN em colunas indexadas é mais rápido que subconsultas em um resultado de consulta.
Estou confuso se: JOINs em colunas não indexadas também são mais rápidos que subconsultas ou não.
Em uma consulta como esta:
MySQL é capaz de usar um índice em arquivos
some_table.col1
. Para que comece com a tabela derivada (varredura completa) e passe para osome_table
uso de index.Isso significa que ele pode utilizar um arquivo index. Portanto, uma subconsulta não nega totalmente o uso de um índice.
Se não existir nenhum índice em nenhuma coluna relevante, obviamente é feito um trabalho árduo (varredura completa, buffer de junção) para fazer o JOIN.