• ベストアンサー

mysql IN句に1データだけ指定は問題有ですか

IN('xxx','sss',~)と複数データを指定するのがIN句の使い方ですが、 SELECT * FROM `tabledate` WHERE ~ ff IN('xxx') ~; というように1つだけ指定でも問題はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.2

databaseソフトのつくりによると思うのではっきり断言する気はないが、 WHERE ~ ff = 'xxx' と書くとインデックスを使った検索になるが、 WHERE ~ ff IN('xxx') と書くとインデックスを使わないかも。 別にインデックスを使わないと極端に遅くなるのでない限り問題じゃないと思うけど。 (inの中が2個以上でも検索しようと考えていると思うので、  インデックスは使わなくても大丈夫と考えていると思うけど。) 多分、inの中を可変にしたいのだが、1個になる場合は大丈夫か心配という質問と思うので、 そういう意味では問題ないと思います。 ## ところで、inの中が0個にはならないつくりにしているかな? ## ・・・プログラム作るときにうっかりはまるパターンなので。(余計なおせっかいと自分でも思う)

juju-juju
質問者

お礼

インデックスが必要になるレベルではないので、あまり気にしていないです。 inの中が0個になるときは、inそのものを作らない形にしています。 いろいろと有難うございます。

その他の回答 (1)

  • hogya
  • ベストアンサー率67% (49/73)
回答No.1

動作的には1つだけ指定でも問題はありません。

juju-juju
質問者

お礼

問題はないのですね。有難うございます。

関連するQ&A