sql >> データベース >  >> RDS >> Mysql

年齢[1、2、3]と1と3の間の年齢

    どちらのクエリもインデックスを使用します。

    クエリ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は実行するテストが少なく、範囲をテストしているため、不要な結果をより簡単に除外できます。



    1. MySQLエラー1005:テーブルを作成できません(errno:150)

    2. mysqlデータベースが存在するかどうかを確認する方法

    3. Django日時フィールド-ビューでタイムゾーンに変換

    4. SQLServerデータベースのすべてのテーブルからすべての主キーを削除する方法-SQLServer/TSQLチュートリアルパート65