- ベストアンサー
mysql IN句に1データだけ指定は問題有ですか
IN('xxx','sss',~)と複数データを指定するのがIN句の使い方ですが、 SELECT * FROM `tabledate` WHERE ~ ff IN('xxx') ~; というように1つだけ指定でも問題はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
databaseソフトのつくりによると思うのではっきり断言する気はないが、 WHERE ~ ff = 'xxx' と書くとインデックスを使った検索になるが、 WHERE ~ ff IN('xxx') と書くとインデックスを使わないかも。 別にインデックスを使わないと極端に遅くなるのでない限り問題じゃないと思うけど。 (inの中が2個以上でも検索しようと考えていると思うので、 インデックスは使わなくても大丈夫と考えていると思うけど。) 多分、inの中を可変にしたいのだが、1個になる場合は大丈夫か心配という質問と思うので、 そういう意味では問題ないと思います。 ## ところで、inの中が0個にはならないつくりにしているかな? ## ・・・プログラム作るときにうっかりはまるパターンなので。(余計なおせっかいと自分でも思う)
その他の回答 (1)
- hogya
- ベストアンサー率67% (49/73)
回答No.1
動作的には1つだけ指定でも問題はありません。
質問者
お礼
問題はないのですね。有難うございます。
お礼
インデックスが必要になるレベルではないので、あまり気にしていないです。 inの中が0個になるときは、inそのものを作らない形にしています。 いろいろと有難うございます。