Search Postgresql Archives

Re: Questions about indexes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Alan Hodgson <ahodgson@xxxxxxxxx> schrieb:

> On Saturday 10 June 2006 13:30, "Pat Maddox" <pergesu@xxxxxxxxx> wrote:
> > I've got a table with that has 5 fields.  Nearly every query I make to
> > this table is of the form
> > SELECT * FROM table1 WHERE field1='foo' AND field2=7;
> >
> > It's always those two exact fields.  How should I index this to get
> > the best performance?
> 
> A single index on field1,field2 (or field2, field1) would obviously be 
> ideal.

With 8.1 we have Bitmap Index Scan, and i think, 2 indexes (one on
field1, one on field2) are also useful, in this case we have also an
index when we ask: '... where field1='foo';', without field2.


> 
> >
> > Also, how can I find what other parts of my app would benefit from more
> > indexes?
> 
> Log the queries that are being run, extract the ones that are run the most, 
> and examine them and their underlying data in detail and with explain 
> analyze.

A very nice tool for this is set 'log_min_duration_statement' in the
postgresql.conf:

#log_min_duration_statement = -1        # -1 is disabled, 0 logs all statements
                                        # and their durations, in milliseconds.



HTH, Andreas
-- 
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect.                              (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly."    (unknow)
Kaufbach, Saxony, Germany, Europe.              N 51.05082°, E 13.56889°


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux