- - PR -
全文検索機能Ludiaについて
1
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-02 10:31
お世話になっております。
現在、下記、環境でとあるサイトを構築し、そこで全文検索機能を利用しています。 [環境] ・OS:LUNIX ・DB:PostgreSql8.3.1 ・全文検索エンジン:Ludia1.5.0 (mecab-0.97 ipadic-2.7.0 senna-1.1.2) そこで質問なのですが、検索用のSQL文を流すときに、検索ワードの違いでかなりの処理スピードが異なってきます。 色々と調べたところ、検索結果件数が多ければ多いほど処理速度が速く、 検索結果件数が少ないほど処理速度が遅いように感じます。 また、同じSQLを2回以上流すと、1回目の処理速度は遅く、2回目以降はかなりやはくなります。 どんな検索ワードでも、処理速度を統一したいのですが、どこか設定を変更するのでしょうか? また、一回目から処理速度を上げたいのですが、どのようにすればいいのでしょうか? 申し訳ありませんが、ご教示お願い致します。 [ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-02 10:33 ] [ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-03 12:38 ] [ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-11 17:38 ] | ||||||||||||||||
|
投稿日時: 2008-08-04 03:00
どういうクエリを投げているか知りませんが、 感じるのではなく、具体的な実行プランを見ましょう。
おそらくキャッシュでしょう。
まずはSQLのボトルネックを調べましょう。 そのためにも具体的な実行プランを見るべきです。
高速なCPUやストレージ、大容量のメモリを積めば、それなりに早くなりますよ。 | ||||||||||||||||
|
投稿日時: 2008-08-04 13:10
かつのり様
返信ありがとうございます。 引用: どういうクエリを投げているか知りませんが、 感じるのではなく、具体的な実行プランを見ましょう。 了解しました。ありがとうございます [ メッセージ編集済み 編集者: JDOG 編集日時 2008-08-11 17:37 ] | ||||||||||||||||
|
投稿日時: 2008-08-04 13:32
実行プランによって何が行われているか次第で、
全然設定方法が変わってきます。 実行プランをみて、何がどうボトルネックになっているのか、 それから対策を立てましょう。 テーブル定義も動作環境も実行プランもわからずに、 設定だけと言われても、全くどうにもなりませんし、 大抵はクエリのために設定を変えるよりも、 SQLとデータ構造のチューニングでどうにかなるケースが殆どです。 設定を変えなければまともに動かないSQLは、 設定よりもSQLを見直すべきということです。 | ||||||||||||||||
|
投稿日時: 2008-08-04 14:55
かつのり様
返信ありがとうございます。 引用: 実行プランによって何が行われているか次第で、 全然設定方法が変わってきます。 申し訳ございませんが、実行プラントは具体的にどのようなことをいうのでしょうか? まだまだシステムの初心者なもので申し訳ありません。 引用: テーブル定義も動作環境も実行プランもわからずに、 設定だけと言われても、全くどうにもなりませんし、 大抵はクエリのために設定を変えるよりも、 SQLとデータ構造のチューニングでどうにかなるケースが殆どです。 設定を変えなければまともに動かないSQLは、 設定よりもSQLを見直すべきということです。 具体的でない質問をしてしまい、申し訳ありません。 了解いたしました。 | ||||||||||||||||
|
投稿日時: 2008-08-04 15:10
実行プランです。 多くのRDBMSはSQL実行時にどういう方法でレコードを特定するかという、 SQLの実行の計画をたてます。 それは統計情報、レコード数、インデックス、メモリ、CPU・・・等、 様々な要因で実行プランが変化します。 で、さきほど、EXPLAINを実行しましたよね? それが実行プランを見るためのコマンドです。 実行プランを可視化したレコードが返って来ます。 この実行プランの読み方は、 Googleなどで検索すれば色々と出てくると思います。 ちなみにEXPLAINはクエリを解析するだけで、 ANALYZEを付けると実際に実行します。 更新系のSQLの場合、実際に更新されてしまうため注意が必要です。 |
1