Cả hai truy vấn sẽ sử dụng một chỉ mục.
Truy vấn A sẽ được dịch sang:
select * from person where age = 1 or age = 2 or age 3;
Truy vấn B sẽ dịch sang
select * from person where age >= 1 and age <= 3;
Vì vậy, truy vấn A sẽ thực hiện 3 bài kiểm tra bằng cách sử dụng OR.
Truy vấn B sẽ thực hiện 2 bài kiểm tra bằng cách sử dụng AND.
Truy vấn B nhanh hơn.
Nói chung, các truy vấn sử dụng AND
nhanh hơn các truy vấn sử dụng OR
.
Ngoài ra, Truy vấn B đang thực hiện ít thử nghiệm hơn và vì đang thử nghiệm một phạm vi nên nó có thể dễ dàng loại trừ các kết quả không mong muốn hơn.