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

La valutazione della logica MySQL è pigra/in cortocircuito nella clausola JOIN?

Il Query Optimizer MySQL utilizza gli indici quando possibile e utilizza l'indice più restrittivo per eliminare il maggior numero possibile di righe.

Quindi, nel caso della tua query, filtrerà sempre i record in base alle prime colonne degli indici e quindi filtrerà i record dalle colonne non dell'indice.

Anche prima dell'esecuzione della query, MySQL elimina il codice che sarà sempre falso (Codice morto ).

Per maggiori dettagli, vedere:http://www.informit.com/ articoli/article.aspx?p=377652&seqNum=2