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

Desempenho do MySQL no operador OR


Às vezes o MySQL tem problemas para otimizar OR consultas. Nesse caso, você pode dividi-lo em duas consultas usando UNION :
SELECT * FROM relationship WHERE e_e_oid = @value1
UNION
SELECT * FROM relationship WHERE e_e_oid2 = @value2

Cada subconsulta fará uso do índice apropriado e, em seguida, os resultados serão mesclados.

No entanto, em casos simples, o MySQL pode realizar essa transformação automaticamente e está fazendo isso em sua consulta. É isso que Using union no EXPLAIN meios de saída.