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

ВЪЗРАСТ [1, 2, 3] спрямо ВЪЗРАСТ МЕЖДУ 1 И 3

И двете заявки ще използват индекс.

Заявка А ще бъде преведена на:

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

Заявка Б ще се преведе на

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

Така че заявка А ще направи 3 теста с ИЛИ.
Заявка Б ще направи 2 теста с ИЛИ.

Заявка Б е по-бърза.

Като цяло, заявките, използващи AND са по-бързи от заявките, използващи OR .
Също така заявка Б прави по-малко тестове и тъй като тества диапазон, може по-лесно да изключи резултати, които не иска.



  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 подреждане на редове

  3. MySQL:Отрязване на таблица в транзакция?

  4. Потиска изхода на предупреждение в bash

  5. Сайт за съкращаване на URL адреси