Re: Composite keys - Mailing list pgsql-performance

From Robert Haas
Subject Re: Composite keys
Date
Msg-id CA+TgmoaKfMX8rykDNbufyY-Mvk=pnt_cpvOxe9CaAEpzLc+Wkg@mail.gmail.com
Whole thread Raw
In response to Re: Composite keys  (Claudio Freire <klaussfreire@gmail.com>)
List pgsql-performance
On Mon, Oct 31, 2011 at 2:34 PM, Claudio Freire <klaussfreire@gmail.com> wrote:
> On Mon, Oct 31, 2011 at 3:24 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>> Sure it does:
>>
>> rhaas=# create table baz (a bool, b int, c text, primary key (a, b));
>> NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index
>> "baz_pkey" for table "baz"
>> CREATE TABLE
>> rhaas=# insert into baz select true, g,
>> random()::text||random()::text||random()::text||random()::text from
>> generate_series(1,400000) g;
>
> Ok, that's artificially skewed, since the index has only one value in
> the first column.
>
> But it does prove PG considers the case, and takes into account the
> number of values it has to iterate over on the first column, which is
> very very interesting and cool.

Yes.  As your experience indicates, it's rare for this to be the best
plan.  But it is considered.  So there you have it.  :-)

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

pgsql-performance by date:

Previous
From: Claudio Freire
Date:
Subject: Re: Composite keys
Next
From: Merlin Moncure
Date:
Subject: Re: SSL encryption makes bytea transfer slow