Mysql
 sql >> Database >  >> RDS >> Mysql

quale query è migliore ed efficiente - mysql

1- È un gioco da ragazzi, usa il Tipo I

2- I join di tipo II sono anche chiamati 'join impliciti', mentre i join di tipo I sono chiamati 'join espliciti'. Con il moderno DBMS, non avrai alcun problema di prestazioni con la query normale. Ma penso che con alcune query multi join complesse e complesse, il DBMS potrebbe avere problemi con il join implicito. L'utilizzo del solo join esplicito potrebbe migliorare il tuo piano di spiegazione, quindi risultati più rapidi!

3- Quindi le prestazioni potrebbero essere un problema, ma forse la cosa più importante è che la leggibilità è migliorata per un'ulteriore manutenzione. Il join esplicito spiega esattamente cosa vuoi unire su quale campo, mentre il join implicito non mostra se crei un join o un filtro. La clausola Where è per il filtro, non per l'adesione!

E un grande punto importante per il join esplicito:il join esterno è davvero fastidioso con il join implicito. È così difficile da leggere quando vuoi join multipli con join esterno che il join esplicito è LA soluzione.

4- Il piano di esecuzione è ciò di cui hai bisogno (Vedi il documento )

Alcuni duplicati :

Join SQL espliciti e impliciti

Join SQL:clausola where vs. clausola on

Clausola INNER JOIN ON vs WHERE