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>
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