Mysql
 sql >> Baza danych >  >> RDS >> Mysql

WIEK [1, 2, 3] a WIEK MIĘDZY 1 A 3

Oba zapytania będą używać indeksu.

Zapytanie A zostanie przetłumaczone na:

select * from person where age = 1 or age = 2 or age 3;

Zapytanie B zostanie przetłumaczone na

select * from person where age >= 1 and age <= 3;

Tak więc zapytanie A wykona 3 testy za pomocą OR.
Zapytanie B wykona 2 testy za pomocą I.

Zapytanie B jest szybsze.

Ogólnie zapytania używające AND są szybsze niż zapytania przy użyciu OR .
Ponadto Zapytanie B wykonuje mniej testów, a ponieważ testuje zakres, może łatwiej wykluczyć wyniki, których nie chce.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zainstalować dbWatch, aby monitorować wydajność MySQL w systemie Linux?

  2. Znajdź najczęstszą wartość w kolumnie SQL

  3. Jak napisać zapytanie MySQL, w którym A zawiera ( a lub b )

  4. SQLSTATE[HY000] [1040] Za dużo połączeń

  5. Jak utworzyć procedurę składowaną w MySQL za pomocą Knex raw