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

Prestazioni MySQL nell'operatore OR

A volte MySQL ha problemi a ottimizzare OR interrogazioni. In questo caso, puoi dividerlo in due query usando UNION :

SELECT * FROM relationship WHERE e_e_oid = @value1
UNION
SELECT * FROM relationship WHERE e_e_oid2 = @value2

Ogni sottoquery utilizzerà l'indice appropriato, quindi i risultati verranno uniti.

Tuttavia, in casi semplici MySQL può eseguire automaticamente questa trasformazione e lo sta facendo nella tua query. Ecco cosa Using union nel EXPLAIN mezzi di output.