[groonga-dev,04646] Re: index row, maximum size is 8191

Back to archive index

Kouhei Sutou kou****@clear*****
2018年 7月 26日 (木) 16:17:51 JST


須藤です。

いろいろありがとうございます。

もろもろダウンロードさせてもらえるとうれしいです!

In <01ec01d424a3$a06575a0$e13060e0$@mirror.ocn.ne.jp>
  "[groonga-dev,04645] Re: index row, maximum size is 8191" on Thu, 26 Jul 2018 14:43:48 +0900,
  内山敏郎 <toshio_uchiy****@mirro*****> wrote:

> 須藤さま
> 
>  お世話になります。内山です。
> 
>  ようやく、text 型の配列を全部連結した場合の文字列長
> をSQLで算出することができ、content カラムに一番長いデータ
> が入っている行を取得できました。
>  こちらのデータもご準備しました。
>  いかがでしょうか。よろしくお願いします。
> 
> -----Original Message-----
> From: groon****@lists*****
> [mailto:groon****@lists*****] On Behalf Of 内山敏郎
> Sent: Thursday, July 26, 2018 10:01 AM
> To: '全文検索エンジンGroonga開発メーリングリスト'
> Subject: [groonga-dev,04644] Re: index row, maximum size is 8191
> 
> 須藤さま
> 
>  お世話になります。内山です。
> 
>  これ以上データを減らすとエラーが再現できなくなる。
> プランが Bitmap Index Scan になる。ところまでデータを
> 減らしました。また、テーブルを pg_dump でバックアップして
> bzip2 で圧縮することにより、2.4GB となりました。
>  いかがでしょうか。よろしくお願いします。
> 
> -----Original Message-----
> From: groon****@lists*****
> [mailto:groon****@lists*****] On Behalf Of 内山敏郎
> Sent: Wednesday, July 25, 2018 3:05 PM
> To: '全文検索エンジンGroonga開発メーリングリスト'
> Subject: [groonga-dev,04643] Re: index row, maximum size is 8191
> 
> 須藤さま
> 
>  お世話になります。内山です。
> 
>>そこのロジックを調整したいので
>>再現するデータを提供してもらえないでしょうか?
> 
> こちらで、可能な範囲で小さくしたデータを作りましたが
> 8GB あります。PostgreSQL のテーブルを pg_dump で
> バックアップした形式なので、psql -f temp.sql すれば
> テーブルを再現することができると思います。エラーも
> 再現できるはずです。
>  これで良ければ、ダウンロード URL をお送りします。
> よろしくお願いします。
> 
> -----Original Message-----
> From: groon****@lists*****
> [mailto:groon****@lists*****] On Behalf Of Kouhei Sutou
> Sent: Wednesday, July 25, 2018 10:09 AM
> To: groon****@lists*****
> Subject: [groonga-dev,04641] Re: index row, maximum size is 8191
> 
> 須藤です。
> 
> In <00f401d4230a$f58e8430$e0ab8c90$@mirror.ocn.ne.jp>
>   "[groonga-dev,04640] Re: index row, maximum size is 8191" on Tue, 24 Jul
> 2018 13:58:27 +0900,
>   内山敏郎 <toshio_uchiy****@mirro*****> wrote:
> 
>> explain verbose select content from subtitled where content &@~ 'ゴルフ';
>>
>> 現在の結果は、
>>
>> moovle=# explain verbose select content from subtitled where content &@~ '
>>> ルフ';
>>                                                      QUERY PLAN
>>
>>
> ----------------------------------------------------------------------------
>> ----
>> -------------------------------------
>>  Index Only Scan using subtitled2_pgroonga_content_idx on public.subtitled
>> (cos
>> t=0.00..1759.40 rows=1479 width=366)
>>    Output: content
>>    Index Cond: (subtitled.content &@~ 'ゴルフ'::text)
>> (3 行)
>>
>> moovle=#
>>
>> です。
>>  しかし、自分で調べて、pg_hint_plan を用いて、Index Only Scan を Index
> Scan
>>>> することで、エラーが回避できることが分かりました。PGroonga の問題ではなく
>> て、
>> PGroongaのインデックスを使っているときに、PostgreSQL が Index Only Scan の
>> プランで query を実行するためのようです。
>>  PGroonga をインストールしたらこの現象がなくなるようにできればより良いで
>>> が、
>> 現状でも回避できることが分かりました。
>>  ありがとうございます。
> 
> うーん、サイズが大きいときはIndex Only Scanを使わないように
> しているつもりなんですよねぇ。そこのロジックを調整したいので
> 再現するデータを提供してもらえないでしょうか?たぶん、
> subtitled.contentに入っている一番大きいデータだけで再現する
> ような気がします。
> 
> うまく調整できればpg_hint_planを使わなくて済むようになります。
> 
> 
> --
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/>
> 
> Groongaベースの全文検索システムを総合サポート:
>   http://groonga.org/ja/support/
> データ処理ツールの開発:
>   http://www.clear-code.com/blog/2018/7/11.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
> 
> _______________________________________________
> 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




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