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

(大きい?)数の値に対するMySQLINオペレーターのパフォーマンス

    一般的に、IN リストが大きくなりすぎると(通常は100以下の領域にある「大きすぎる」という不明確な値の場合)、結合を使用する方が効率的になり、必要に応じて数値を保持するための一時テーブルを作成します。

    数値が密な集合である場合(ギャップがない-サンプルデータが示唆している)、WHERE id BETWEEN 300 AND 3000を使用すると、さらにうまくいく可能性があります。 。

    ただし、おそらくセットにギャップがあるため、結局のところ、有効な値のリストを使用する方がよい場合があります(ギャップの数が比較的少ない場合を除き、次のように使用できます:

    WHERE id BETWEEN 300 AND 3000 AND id NOT BETWEEN 742 AND 836
    

    またはギャップが何であれ。



    1. SQL結果(mysqlまたはperlのいずれか)で空の日付を埋める最も簡単な方法は何ですか?

    2. SQLiteで外部キー違反を見つける

    3. ORA-01438:3を挿入するときに、この列に許可されている指定された精度よりも大きい値

    4. PHPを使用してMySQL日時から別の形式に変換する