/ / mysqlの 'IN'演算子に存在できる値の数に制限はありますか? [複製] - mysql、rdbms

mysqlの 'IN'演算子には値の数に制限がありますか? [重複] - mysql、rdbms

mysqlのin演算子に関するいくつかのことを知りたいです。

  1. in演算子の値の数、制限はありますか?
  2. 値がソートされていればパフォーマンスは向上しますか?従業員IDを言います。 IDが基準に基づいてソートされている場合、パフォーマンスは向上しますか?

回答:

回答№1は1
  1. 一般的に、この数は直接制限されていませんが、超えてはいけません。 max_allowed_packet クエリ全体のサイズそう基本的には限界があります
  2. 私が知る限りでは、あなたが自分でそれをソートしないのであれば、mysqlはあなたのためにそれをするでしょう。

しかし、本当に大きい場合 IN クエリで置き換えることを検討してください INNER JOIN すべての値を含む一時テーブル付き。早くなるでしょう。