Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Leistung im ODER-Operator

Manchmal hat MySQL Probleme bei der Optimierung von OR Abfragen. In diesem Fall können Sie es mit UNION in zwei Abfragen aufteilen :

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

Jede Unterabfrage verwendet den entsprechenden Index, und dann werden die Ergebnisse zusammengeführt.

In einfachen Fällen kann MySQL diese Transformation jedoch automatisch durchführen, und zwar in Ihrer Abfrage. Dafür Using union im EXPLAIN Ausgabemittel.