上記のように
、たとえば WHERE In(var 1,var 2,var 3, ..., var 5609,)
マシンの速度が低下する前に制限はありますか?
あなたが尋ねなければならないなら、あなたはおそらく何か間違ったことをしていると私は言うでしょう。:)
1000 Oracle の制限とは異なり、MySQL の IN 句のリストにある値の数に制限があるとは思いません。懸念がある場合は、ある種のループを作成して非常に長い「IN」ステートメントを作成することで、これを確認します。また、他の誰かがこの質問をしましたが、既知の制限はありませんでした。
Oracle (10g でのみ検証済み) では 1000 です。
ORA-01795: maximum number of expressions in a list is 1000
Oracle 9iリスト内の式の最大数は 1000 です。
MS SQL Serverは約2000でチョークしますが、MS SQL Compactには制限がありません(または、まだ到達していないので、2500を超えています)。
注:これらはクエリのパラメータの制限です。
「制限」とは、実装の制限を指していますか、それともクエリを遅くする何かを指していますか? 後者の場合、最良の答えは自分でテストすることです。