Beide Abfragen verwenden einen Index.
Abfrage A wird übersetzt in:
select * from person where age = 1 or age = 2 or age 3;
Abfrage B wird übersetzt in
select * from person where age >= 1 and age <= 3;
Abfrage A führt also 3 Tests mit ODER durch.
Abfrage B führt 2 Tests mit UND durch.
Abfrage B ist schneller.
Im Allgemeinen Abfragen mit AND
sind schneller als Abfragen mit OR
.
Auch Abfrage B führt weniger Tests durch und da sie einen Bereich testet, kann sie leichter unerwünschte Ergebnisse ausschließen.