Mysql
 sql >> база данни >  >> RDS >> Mysql

Производителност на MySQL в оператор OR

Понякога MySQL има проблеми с оптимизирането на OR заявки. В този случай можете да го разделите на две заявки, като използвате UNION :

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

Всяка подзаявка ще използва подходящия индекс и след това резултатите ще бъдат обединени.

Въпреки това, в прости случаи MySQL може автоматично да извърши тази трансформация и го прави във вашата заявка. Това е Using union в EXPLAIN изходни средства.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Размер на таблицата на Mysql на твърдия диск

  2. PHP mysql charset utf8 проблеми

  3. Грешка MySQLdb не може да инициализира набор от знаци utf-8

  4. (MySQL) Зареждане на данни във файл, специфични колони

  5. C++ / mysql конектор - недефинирана препратка към get_driver_instance - вече опитах лесните неща