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

qual consulta é melhor e eficiente - mysql


1- É um acéfalo, use o Tipo I

2- As junções do tipo II também são chamadas de 'junções implícitas', enquanto as do tipo I são chamadas de 'junções explícitas'. Com o DBMS moderno, você não terá nenhum problema de desempenho com a consulta normal. Mas acho que com uma grande consulta complexa de junção múltipla, o DBMS pode ter problemas com a junção implícita. Usar apenas a junção explícita pode melhorar seu plano de explicação, portanto, resultado mais rápido!

3- Portanto, o desempenho pode ser um problema, mas o mais importante talvez seja melhorar a legibilidade para manutenção adicional. A associação explícita explica exatamente o que você deseja associar em qual campo, enquanto a associação implícita não é exibida se você fizer uma associação ou um filtro. A cláusula Where é para filtro, não para junção!

E um grande ponto importante para a junção explícita:a junção externa é realmente irritante com a junção implícita. É tão difícil ler quando você deseja junção múltipla com junção externa que a junção explícita é a solução.

4- Plano de execução é o que você precisa (Veja o documento )

Algumas duplicatas:

Uniões SQL explícitas vs implícitas

SQL join:where cláusula vs. on cláusula

INNER JOIN ON vs cláusula WHERE