Re: [PATCHES] GIN improvements

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCHES] GIN improvements
Date: 2009-01-21 12:06:44
Message-ID: 49770FD4.5030600@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

>> - after limit is reached, force cleanup of pending list by calling
>> gininsertcleanup. Not very good, because users sometimes will see a huge
>> execution time of simple insert. Although users who runs a huge update should be
>> satisfied.
>>
>> I have difficulties in a choice of way. Seems to me, the better will be second
>> way: if user gets very long time of insertion then (auto)vacuum of his
>> installation should tweaked.
> I agree that the second solution sounds better to me.

Done. Now GIN counts number of pending tuples and pages and stores they on
metapage. Index cleanup could start during normal insertion in two cases:
- number of pending tuples is too high to keep guaranteed non-lossy tidbitmap
- pending page's content doesn't fit into work_mem.

BTW, gincostestimate could use that information for cost estimation, but is
index opening and metapge reading in amcostestimate acceptable?

--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

Attachment Content-Type Size
fast_insert_gin-0.23.gz application/x-tar 24.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2009-01-21 12:35:53 Re: Re: [COMMITTERS] pgsql: Explicitly bind gettext() to the UTF8 locale when in use.
Previous Message Heikki Linnakangas 2009-01-21 12:05:44 Re: rmgr hooks (v2)

Browse pgsql-patches by date

  From Date Subject
Next Message Jeff Davis 2009-01-21 18:07:51 Re: [PATCHES] GIN improvements
Previous Message Bryce Nesbitt 2009-01-21 00:35:36 Re: New pg_dump patch, --no-stats flag, disables sending to statistics collector