石橋"rubyholic"秀仁です。 From: とみたまさひろ <tommy / tmtm.org> Subject: [ruby-list:22454] Re: w3ml > > > MySQL を使うように設定すれば、SQL の select を使うようになってます。 > > > 確認しました。w3ml_mysql.rbのsearch()ですね。失礼しました。 > > ところで、スピードはどちらが速いのでしょうか? > > 検索速度は確認してません…(^^; なるへそ :-) > Ruby 単独だと CGI を実行する度にファイルをメモリに読み込んで検索しないと > いけませんが、MySQL では MySQL サーバがある程度キャッシュするので、平均 > すれば、MySQL の方が速いかもしれません。 ですよね。DBの得意分野ですね。 > ただ日付などを指定しないで全メッセージを対象とした検索では、メッセージ数 > が大規模になれば、キャッシュの効果は薄れてしまうと思うので、なんとも言え > ません。 となると、大規模DBでの全文検索には、namazuとの複合構成ですね。 これだとnamazuのキャッシュが効くので、かなり効果ありそう。 > そんなに多くないメッセージ数(数百程度)では、ツリー構造を作る速度は > Ruby 単独の方が速かったです。Ruby はヘッダ部をメモリに読み込んでからツリー > を生成するのに対し、MySQL では1メッセージ毎に SQL を発行して取り出してい > るので、そのオーバーヘッドが大きいためだと思います。 > > もっと大規模な ML であれば、逆転するかもしれません。 スレッドツリーの生成処理ですが、運用時は新着のメールを追加登録 していくだけですから、この処理の重さはあまり問題になりませんよね。 規模が問題になるのは、初回に大量登録をする場合でしょうか。 結局、この点でDBがとくに不利だというわけでもなさそうですが・・・ > 実測してみりゃいいんですけど、簡単に試してみたら、どちらを使ってもイライ > ラする程遅くなかったので、ちゃんと調べてないです… (^^;; 運用時の状況を総合的に考えると、DB使用が有利なようですね。 ところで、ここ > 使用例はこちら → http://www.mysql.gr.jp/mysqlml/ ではMySQL使用の設定ですか? -- Hideto "rubyholic" ISHIBASHI http://www.rr.iij4u.or.jp/~hideto-i/