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

Cosa è successo prima in MySQL:unisciti o dove

Il join accade prima del where , invece...

Il where La clausola è un filtro per tutte le righe restituite dal join, ma l'ottimizzatore riconoscerà che se esiste un indice su A.id , verrà utilizzato per recuperare righe da A quella corrispondenza, quindi avverrà il join, quindi teoricamente la clausola where filtrerà i risultati, ma ancora una volta l'ottimizzatore riconoscerà che la condizione sarà già soddisfatta, quindi la salterà come filtro.

Detto questo, l'ottimizzatore restituirà sempre lo stesso risultato che verrebbe restituito senza l'ottimizzatore.