pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Ron Mayer <rm_pg@cheapcomplexdevices.com>
Cc: Oleg Bartunov <oleg@sai.msu.su>
Cc: Teodor Sigaev <teodor@sigaev.ru>
Cc: pgsql-performance@postgresql.org
Subject: Re: Extremely slow intarray index creation and inserts.
Date: Wed, 18 Mar 2009 16:21:26 -0400
Message-ID: <15055.1237407686@sss.pgh.pa.us> (raw)
In-Reply-To: <49C11D6D.8020604@cheapcomplexdevices.com>
References: <49BFD950.5040905@cheapcomplexdevices.com>
	<49BFEBD3.4000006@cheapcomplexdevices.com>
	<1804.1237346699@sss.pgh.pa.us>
	<49C11D6D.8020604@cheapcomplexdevices.com>

Ron Mayer <rm_pg@cheapcomplexdevices.com> writes:
> Oleg Bartunov wrote:
> OB:> it's not about short or long arrays, it's about small or big
> OB:> cardinality of the whole set (the number of unique elements)

> I'm re-reading the docs and still wasn't obvious to me.   A
> potential docs patch is attached below.

Done, though not in exactly those words.  I wonder though if we can
be less vague about it --- can we suggest a typical cutover point?
Like "use gist__intbig_ops if there are more than about 10,000 distinct
array values"?  Even a rough order of magnitude for where to worry
about this would save a lot of people time.

			regards, tom lane

inline patch 1: intarray.sgml (+3/-2 lines) download inline-1.patchIndex: intarray.sgml =================================================================== RCS file: /cvsroot/pgsql/doc/src/sgml/intarray.sgml,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** intarray.sgml 10 Dec 2007 05:32:51 -0000 1.5 --- intarray.sgml 18 Mar 2009 20:18:18 -0000 1.6 *************** *** 237,245 **** <para> Two GiST index operator classes are provided: <literal>gist__int_ops</> (used by default) is suitable for ! small and medium-size arrays, while <literal>gist__intbig_ops</> uses a larger signature and is more ! suitable for indexing large arrays. </para> <para> --- 237,246 ---- <para> Two GiST index operator classes are provided: <literal>gist__int_ops</> (used by default) is suitable for ! small- to medium-size data sets, while <literal>gist__intbig_ops</> uses a larger signature and is more ! suitable for indexing large data sets (i.e., columns containing ! a large number of distinct array values). </para> <para>

view thread (9+ messages)  latest in thread

Message-ID: <15055.1237407686@sss.pgh.pa.us>
Permalink:  ../15055.1237407686@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/15055.1237407686@sss.pgh.pa.us

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: tgl@sss.pgh.pa.us, rm_pg@cheapcomplexdevices.com, oleg@sai.msu.su, teodor@sigaev.ru
  Subject: Re: Extremely slow intarray index creation and inserts.
  In-Reply-To: <15055.1237407686@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox