一般的に、IN
リストが大きくなりすぎると(通常は100以下の領域にある「大きすぎる」という不明確な値の場合)、結合を使用する方が効率的になり、必要に応じて数値を保持するための一時テーブルを作成します。
数値が密な集合である場合(ギャップがない-サンプルデータが示唆している)、WHERE id BETWEEN 300 AND 3000
を使用すると、さらにうまくいく可能性があります。 。
ただし、おそらくセットにギャップがあるため、結局のところ、有効な値のリストを使用する方がよい場合があります(ギャップの数が比較的少ない場合を除き、次のように使用できます:
WHERE id BETWEEN 300 AND 3000 AND id NOT BETWEEN 742 AND 836
またはギャップが何であれ。