toshio_uchiy****@mirro*****
toshio_uchiy****@mirro*****
2017年 9月 15日 (金) 16:13:30 JST
須藤さま お世話になります。内山です。 追記です。提供するデータは、スキーマありの robot テーブルの データを準備できました。 Create extension pgroonga した PostgreSQL 96 に、適当なデータベース を作っていただいて、 psql -d databasename -h machinename -U postgres -f sql ファイル としていただければ、こちらの環境と全く同じテーブルが再現されます。 ご検討ください。 -----Original Message----- From: groon****@lists***** [mailto:groon****@lists*****] On Behalf Of toshio_uchiy****@mirro***** Sent: Friday, September 15, 2017 2:42 PM To: '全文検索エンジンGroonga開発メーリングリスト' Subject: [groonga-dev,04479] Re: 【ご報告】インデックスを使って検索したいと きにシーケンシャルスキャン 須藤さま お世話になります。 >このデータを提供してもらえれば、推定ヒット数をだすロジックを >改良できるかもしれないのでご検討ください。 お役に立てるなら、やぶさかではありません。ただし、提供データは ロジック改良目的のみに使用していただき、その他には使用しないと いう条件です。 現在、データをウェブサーバーにアップしています。 データは、PostgreSQL の robot テーブルのみをスキーマなしの data-only でエクスポートしたものです。テーブルスキーマが必要なら お申し付けくだされば、データ型などはご提供できます。 おそらく、ウェブサーバーからダウンロードするように できると思います。1.8GB です。こちらのネット環境は、個人宅の 光 1Gbps 接続です。 数時間、ダウンロード用にセッションをはっていただいても、 問題ありません。途中でセッションが切れてダウンロードできない などありましたら、DVD に焼いてお送りします。 このような条件でよろしいでしょうか。ダウンロード、URL は、 別途、須藤さまにお知らせします。ご検討のほどよろしくお願いします。 -----Original Message----- From: groon****@lists***** [mailto:groon****@lists*****] On Behalf Of Kouhei Sutou Sent: Friday, September 15, 2017 2:11 PM To: groon****@lists***** Subject: [groonga-dev,04478] Re: 【ご報告】インデックスを使って検索したいと きにシーケンシャルスキャン 須藤です。 In <043a01d32dba$e9174660$bb45d320$@mirror.ocn.ne.jp> "[groonga-dev,04477] 【ご報告】インデックスを使って検索したいときにシーケ ンシャルスキャン" on Fri, 15 Sep 2017 09:38:12 +0900, <toshio_uchiy****@mirro*****> wrote: > 何もしないで検索すると > -> Seq Scan on robot (cost=0.00..417224.88 rows=2920069 > width=279) のcostの値の方が > とシーケンシャルスキャンします。set enable_seqscan to off; すると > -> Bitmap Heap Scan on robot (cost=1460.03..418684.91 > rows=2920069 のcostの値より少し小さい 417224.88 → 418684.91 のでPostgreSQLはシーケンシャルスキャンを選択しています。 > -> Bitmap Index Scan on > robot2_lower_r_delimmit_tags_idx (cost=0.00..0.00 rows=2595875 width=0) (actual time=17.836..17.836 rows=6238> loops=1) > Index Cond: (lower(tags) &@ 'iphone'::text) > -> Bitmap Index Scan on robot2_lower_r_mecab_title_idx (cost=0.00..0.00 rows=2595875 width=0) (actual time=21.514..21.514 rows=13623 loops=1) > Index Cond: (lower(title) &@ 'iphone'::text) の推定ヒット数(rowsのところの2595875)が実際のヒット数(actualの方の rowsのところ)とかけ離れているのが適切なプランを選択できない 原因です。 このデータを提供してもらえれば、推定ヒット数をだすロジックを 改良できるかもしれないのでご検討ください。もし改良できれば、 明示的にenable_seq_scanを変更しなくてもいい感じの実行プラン を選ぶようになります。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ OSS開発支援サービス: http://www.clear-code.com/blog/2016/6/27.html _______________________________________________ groonga-dev mailing list groon****@lists***** https://lists.osdn.me/mailman/listinfo/groonga-dev _______________________________________________ groonga-dev mailing list groon****@lists***** https://lists.osdn.me/mailman/listinfo/groonga-dev