> -----Message d'origine----- > De : Tom Lane [mailto:[EMAIL PROTECTED] > Envoyé : mercredi, février 15, 2006 17:47 > À : Daniel Caune > Cc : Andrew Sullivan; pgsql-sql@postgresql.org > Objet : Re: [SQL] How to force PostgreSQL using an index > > "Daniel Caune" <[EMAIL PROTECTED]> 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
Yes, you're right! ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend