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

O que aconteceu primeiro no mysql:join ou where


A join acontece antes do where , Contudo...

O where cláusula é um filtro para todas as linhas retornadas pela junção, mas o otimizador reconhecerá isso se existir um índice em A.id , ele será usado para recuperar linhas de A essa correspondência, então a junção acontecerá, então teoricamente a cláusula where filtrará os resultados, mas novamente o otimizador reconhecerá que a condição já foi atendida e a ignorará como um filtro.

Tudo isso dito, o otimizador sempre retornará o mesmo resultado que seria retornado sem o otimizador.