И двете заявки ще използват индекс.
Заявка А ще бъде преведена на:
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
.
Също така заявка Б прави по-малко тестове и тъй като тества диапазон, може по-лесно да изключи резултати, които не иска.