ねえ、MySQLステートメントでIDの大きなセットを使用してIN条件を使用する必要があります。
例
SELECT * FROM users WHERE id IN (1,2,3,4...100000)
INステートメントが持つことができるアイテムに制限はありますか?
ねえ、MySQLステートメントでIDの大きなセットを使用してIN条件を使用する必要があります。
例
SELECT * FROM users WHERE id IN (1,2,3,4...100000)
INステートメントが持つことができるアイテムに制限はありますか?
回答:
いいえ、ありません。IN機能に関するマニュアルを確認してください。
IN
リスト内の値の数は、max_allowed_packet値によってのみ制限されます。
where id IN (14000 ids)
場合、更新クエリが64MB(デフォルト値)未満になるまで機能しますよね?
IN
キーワードには組み込みの制限はありませんがmax_allowed_packet
、値の数を間接的に制限するような他の制限がある場合があります。この値を1024(バイト)に設定すると、限られた数の値のみを効果的に使用できます。
私がmysqlで知っている限り、IN
ステートメント内の項目に制限はありません。
オラクルでは、IN
ステートメントには1000項目の制限があります。
ただし、の項目が多いほど、IN
その列にインデックスが付けられていない限り、クエリのパフォーマンスが低下します。