Naoya Murakami
visio****@gmail*****
2013年 12月 6日 (金) 18:40:57 JST
お世話になっております。村上です。 > 残念ながらできないです。。。 > > 了解しました! > また、Groongaのselectでは、0件の場合に前方一致→非わかち書きとエスカレーション > するようですが、MroongaのSELECT MATCH AGAINSTでは、検索のエスカレーションはしない > という認識でよいですか? いや、それがするんですよ。 > > この挙動はmroonga_match_escalation_thresholdという変数を設定 > すると制御できます。 > > > http://mroonga.org/ja/docs/reference/server_variables.html#mroonga-match-escalation-threshold > > Groongaと同じように-1を指定すればエスカレーションしないよう > にできます。 > > あら、Mroongaのドキュメントは、ここにあったんですね!見つけられませんでした。 ありがとうございます。エスカレーションすると、検索結果が0件のときの検索性能が うまく比較できない気がするので気になっていました。 またまた、ちなみになんですが、Groongaのコンフィグオプションで、以下を指定していれば、 Mroongaでもエスカレーションはしないですか? ./configure --with-match-escalation-threshold=-1 http://groonga.org/ja/docs/install/others.html#with-match-escalation-threshold-number > >> > Groonga(Mroongaストレージモード)で作られるデータファイルって1Gごとに > >> > ばらばらになりますが、インデックスが使われないケースのレコードアクセス > >> > での絞り込みやカウント等は、カラムに対応づけられた全ファイルを読んじゃう > >> > んですかね? > >> > >> 読みます! > >> > > > > なるほど、カラム刈り込みでファイルが絞り込まれ、さらに、 > > 検索条件で読み込むファイルが絞り込まれているのだったら、 > > すごいなぁと思いましたが、さすがにそういうことはないんですね。 > > あ、すべてのレコードのカラムを読まなくてよいケースではすべて > のファイルを読まないこともあります。必要になったファイルだけ > 読みます。 > > ただ、1レコード分ずつ読み込みにいっているのではなく、ある程 > 度のまとまりで読み込むので(その方が全体的に見ると効率がよ > い)、すべてのレコードにアクセスしない場合でも、全体的に分散 > してアクセスする場合は結局すべてのファイルを読み込むことにな > ります。必要なデータが局所的に固まっていれば読む量は少なくな > ります! > > > そうなんですね!必要な分だけ読んでいるんですね。 Groonga(Mroongaストレージモード)は、カラム刈り込みもありますし、全文検索 以外でも、MySQLの他のストレージエンジンよりも高速になる部分もあるかもしれませんね。 比較してみないとわかりませんが。 以上、よろしくお願いします。