どちらのクエリもインデックスを使用します。
クエリAは次のように変換されます:
select * from person where age = 1 or age = 2 or age 3;
クエリBは次のように翻訳されます
select * from person where age >= 1 and age <= 3;
したがって、クエリAはORを使用して3つのテストを実行します。
クエリBはANDを使用して2つのテストを実行します。
クエリBの方が高速です。
一般に、ANDを使用したクエリ ORを使用したクエリよりも高速です 。
また、クエリBは実行するテストが少なく、範囲をテストしているため、不要な結果をより簡単に除外できます。