Kouhei Sutou
kou****@clear*****
2013年 5月 3日 (金) 17:34:25 JST
須藤です。 In <50081****@web10*****> "[groonga-dev,01362] Re: utf8_unicode_ci使用時の検索結果について" on Fri, 3 May 2013 15:09:22 +0900 (JST), <mail_babir****@yahoo*****> wrote: > 確かにORDER BYを付けると、MyISAMの方が遅くなりますね。 確認有り難うございます。 > 全文検索の場合、スコアで並び替えることは多いとは思うんですが、レコードの登録順にデータが取れればいいという場合、ORDER BY `id`を付けなくても、MySQLでは主キー順にレコードが取れるので、そうしていることが個人的にはあったりします。 なるほど! たしかに、mroongaでも主キーの昇順でレコードを返していました。 groongaのデフォルトも「主キーで昇順」なので、単にこれをその まま継承したのかあえてこうしていたのかはわかりませんが。。。 > あと、タグ検索の用途であれば、同じレコードに同一タグがいくつも出てくることは普通は無いので、スコア順での並べ替えがそもそも不要という場合があります。 たしかにそうですね。 > ここで、登録順以外で表示したい場合はソートが必要になりますが、登録順で間に合う場合は、ORDER BYを付けずに検索していることが多いです。 > > ただ、確かに一般用途としてはレアケースな気がします。 > > 突き詰めると「MyISAM全文検索の場合、ORDER BY `id` ASCを付ける用途の場合は、付けない方が格段に速い」という、かなり限定的な内容なので。 使用例の情報ありがとうございます。 他の方からも情報がもらえたらそれも加味して対応するかどうかを 検討したいと思います。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270) groongaサポート: http://groonga.org/ja/support/ パッチ採用はじめました: http://www.clear-code.com/recruitment/ コミットへのコメントサービスはじめました: http://www.clear-code.com/services/commit-comment.html