sql >> Database >  >> RDS >> Mysql

MySQL-prestaties in OR-operator

Soms heeft MySQL problemen met het optimaliseren van OR vragen. In dit geval kunt u het opsplitsen in twee zoekopdrachten met behulp van UNION :

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

Elke subquery maakt gebruik van de juiste index, waarna de resultaten worden samengevoegd.

In eenvoudige gevallen kan MySQL deze transformatie echter automatisch uitvoeren, en dit in uw query. Dat is wat Using union in de EXPLAIN output betekent.



  1. Index op Mysql-kolom heeft een lagere kardinaliteit dan onderscheidend tellen?

  2. MySQL-tekencodering gewijzigd. Wordt de gegevensintegriteit behouden?

  3. PHP/Mysql Zoeken - Hoofdlettergevoelig

  4. Oracle- Split string door komma's gescheiden (string bevat spaties en opeenvolgende komma's)