> -----Original Message-----
> From: Jason Tesser [mailto:JTesser@nbbc.edu]
> Sent: Thursday, February 12, 2004 11:33 AM
> To: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] help with query speed
>
>
> Hi
>
> > > I have the below query written. I have removed a lot from the
> select
> > > Statement for simplicity sake. The query takes way too
> long. I am
> > > moving from an Access backend to a Postgres back with
> Access in the
> > > front. The below query is taking like 14-20 seconds. Is their a
> > > better way I can write the joins. I would think that Postgres
> > > should be fast than Access. BTW I am writing these as
> Pass through
> > > queries so it is not a problem with Access. I have Even ran the
> > > query directly against Postgres.
> > >
> > > SELECT
> > > tblroster.transcriptlink
> > > FROM
> > > tblroster
> > > FULL OUTER JOIN testclass ON (tblroster.classlink =
> > > testclass.classid)
> > > FULL OUTER JOIN tblqualitypoint ON (tblroster.lettergrade =
> > > tblqualitypoint.letter)
> > > ORDER BY
> > > tblroster.transcriptlink
> >
> > Is there an index on:
> > tblroster.classlink
> >
> > Is there an index on:
> > testclass.classid
> >
> > Is there an index on:
> > tblroster.lettergrade
> >
> > Is there an index on:
> > tblqualitypoint.letter
> >
> > Is there an index on:
> > tblroster.transcriptlink
>
> I created the indexes and it speed up a little. Still a
> little slower than Access though. Which I think should not
> be.
Try this experiment:
Take your MS Access database, and start a big transaction. Right in the
middle of the transaction, yank the plug on your computer out of the
wall. Then, take a baseball bat and bash your computer to smithereens.
It won't prove anything, but it will be a fun exercise.
;-)
>The testclass is a view not
> A query so I cannot make an index there.
But you can make an index on the underlying tables.
> What is the best way to index this stuff?
There is no simple answer.
> Should I make one index
> (b-tree)
> And add all fkeys and pkey from that table?
The foreign and primary keys won't make any difference in speed. They
are for enforcing RI.
> > How many rows are in the tables?
This is important.