From: Tom Lane <tgl@sss.pgh.pa.us>
To: Daniel Caune <daniel.caune@ubisoft.com>
Cc: Andrew Sullivan <ajs@crankycanuck.ca>
Cc: pgsql-sql@postgresql.org
Subject: Re: How to force PostgreSQL using an index
Date: Wed, 15 Feb 2006 17:47:15 -0500
Message-ID: <20471.1140043635@sss.pgh.pa.us> (raw)
In-Reply-To: <1E293D3FF63A3740B10AD5AAD88535D20190926B@UBIMAIL1.ubisoft.org>
References: <1E293D3FF63A3740B10AD5AAD88535D20190926B@UBIMAIL1.ubisoft.org>
"Daniel Caune" <daniel.caune@ubisoft.com> writes:
> SELECT <some-columns>
> FROM GSLOG_EVENT
> WHERE EVENT_NAME = 'player-status-update'
> AND EVENT_DATE_CREATED >= <start-time>
> AND EVENT_DATE_CREATED < <end-time>
> I have an index on EVENT_DATE_CREATED that does it job. But I though
> that I can help my favourite PostgreSQL if I create a composite index on
> EVENT_DATE_CREATED and EVENT_NAME (in that order as EVENT_DATE_CREATED
> is more dense that EVENT_NAME).
Wrong ... should be EVENT_NAME first. Think about the sort order of the
data to see why --- your query represents a contiguous subset of the
index if EVENT_NAME is first, but not if EVENT_DATE_CREATED is first.
regards, tom lane
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-sql@postgresql.org
Cc: tgl@sss.pgh.pa.us, daniel.caune@ubisoft.com, ajs@crankycanuck.ca
Subject: Re: How to force PostgreSQL using an index
In-Reply-To: <20471.1140043635@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