web-dev-qa-db-ja.com

MySQL IN条件の制限

ねえ、MySQLステートメントで大量のIDを使用してIN条件を使用する必要があります。

SELECT * FROM users WHERE id IN (1,2,3,4...100000)

INステートメントに含めることができるアイテムに制限はありますか?

61
xpepermint

いいえ、ありません。 IN関数に関するマニュアル を確認してください。

INリスト内の値の数は、 max_allowed_pa​​cket 値によってのみ制限されます。

85
Progman

Mysqlで知っている限り、INステートメントの項目に制限はありません。

Oracleでは、INステートメントに1000アイテムの制限があります。

ただし、INの項目が増えると、その列にインデックスが作成されない限り、クエリのパフォーマンスが低下します。

15
Sachin Shanbhag

enter image description here

1073741824これは、Mysqlドキュメントで指定された制限です。

0
praveen