[groonga-dev,02216] Re: 文字列以外の条件を追加してパフォーマンスを出す方法

Back to archive index

Kimura A a.kim****@live*****
2014年 4月 12日 (土) 19:01:11 JST


横から失礼します。素人プログラマーの木村です。
いつもお世話になってます。

>> 現在、mroongaを利用し、システムを構築していますが全文検索条件に他の条件を
>> 追加してパフォーマンスを出す方法で躓いています。

この問題、僕も悩んでます。同じくラッパーモード(InnoDB)なんですが、もう一歩速くなれば…と思うことが多いです。
以前、素のMySQLにバイグラムのカラムを用意して、自力で全文検索を試みた際には、あまりの遅さに愕然としたので、ラッパーモードでもMroongaが「すごく速い」ことはよくわかっているんですが。
いざサイトをユーザー目線でチェックしてみると、ときどき「でも、まだ遅いな…」と。

> ストレージモードだと全文検索インデックスと他の「COLUMN =
> VALUE」みたいな条件のインデックスを一緒に使うことができるの
> で、そこがボトルネックなら速くする道はあったりします。

このことからすると、一般論としては結局「ストレージモードの方が速い」ということになりそうですね。
試しに手元の開発環境(Windows、XAMPP。MySQLのみMroonga&MariaDBに差し替え)をストレージモードに切り替えてみたところ、測定はしていませんが体感的に、こちらの方がたしかに速いという実感がありました。
そこで、本格的にストレージモードが気になりだしてしまい悩んでします。

これまで僕がラッパーモードにこだわってきたのは、「まとまった更新クエリを走らせる際に、トランザクションを使わないとなんとなく不安」という素朴な理由に尽きるんですが、これって「気にしすぎ」でしょうか?
扱っているデータには、現金の残高をやりとりするような深刻な要素はありません。
トランザクションの用途としてはせいぜい、HABTMリレーションの双方のテーブル+その中間テーブルを同時的に更新する必要がある場合などに、「念のため」使っているという状況です。具体的にどのような問題が起きるという想定があるわけではなくて、ただなんとなくです。

このあたり、検索してみてもなかなかこれという方法論や考え方が見つからず、思案がまとまらないので、何かヒントだけでもいただけないでしょうか。
どうぞよろしくお願いしますm(_ _)m
 		 	   		  



groonga-dev メーリングリストの案内
Back to archive index