Tasuku SUENAGA
a****@razil*****
2007年 2月 22日 (木) 22:22:22 JST
ブラジルの末永です。
Katsuya Utada wrote:
> うただです
>
> |GB単位の文書を1テーブルに格納するのは厳しくはないと思います。
> |おそらく、Senna 0.9.0のバグに遭遇していると予想されます。
> |Sennaの開発版では問題が修正されている可能性があります。
>
> 開発版で試したところMySQLが落ちなくなりました。
> ありがとうございます。
やほーい!!よかったです。
> 1GB程の文書を1テーブルでテストしていて
> ヒット件数が多いキーワードでorder byを併用すると
> 応答が遅い場合があるのですが、order by(とlimit)を併用しても
> 高速化する方法はないでしょうか?
>
> mysql> select num from test where match(title,text) against('アメリカ');
>
> mysql> select num from test where match(title,text) against('アメリカ')
> order by num limit 45070,2;
>
> mysql> select num from test where match(title,text) against('アメリカ')
> limit 45070,2;
2つめのクエリですが、
http://qwik.jp/senna/mysql_binding.html
の「2indパッチとは」の項にある、
「4. 全文検索以外の条件でソートする処理が遅い問題」
にあたると思います。
「2ind-patchの使い方」の項を参考に、
select num from test force index(PRIMARY)
where match(title,text) against('アメリカ')
order by num limit 45070,2;
とすると高速化されると思います。
お試しください。
---
Tasuku SUENAGA <a****@razil*****>