Re: Performance problem with correlated sub-query - Mailing list pgsql-general

From Shridhar Daithankar
Subject Re: Performance problem with correlated sub-query
Date
Msg-id 40910D5E.1030204@frodo.hserus.net
Whole thread Raw
In response to Performance problem with correlated sub-query  ("Howard, Steven (US - Tulsa)" <sthoward@DELOITTE.com>)
List pgsql-general
Howard, Steven (US - Tulsa) wrote:

> I have created a web app that stores and displays all the messages from
> my database maintenance jobs that run each night. The web app uses Java
> servlets and has PostgreSQL 7.0 as the back end.
>
> When the user requests the first page, he gets a list of all the servers
> with maintenance records in the database, and a drop down list of all
> the dates of maintenance records. If the user chooses a date first, then
> the app uses a prepared statement with the date contained in a
> parameter, and this executes very quickly – no problems.
>
> However, if the web page user does not choose a date, then the app uses
> a correlated sub-query to grab only the current (latest) day’s
> maintenance records. The query that is executed is:
>
> select servername, databasename, message from messages o where
> o.date_of_msg =
>
>             (select max(date_of_msg) from messages i where i.servername
> = o.servername);
>
> And this is a dog. It takes 15 – 20 minutes to execute the query (there
> are about 200,000 rows in the table). I have an index on (servername,
> date_of_msg), but it doesn’t seem to be used in this query.

Few basic checks..
- What does explain analyze says for the slow query?
- Have you vacuumed and analyzed recently?
- Have you done basic optimisations from default state? Check
http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html and
http://www.varlena.com/varlena/GeneralBits/Tidbits/annotated_conf_e.html

And 7.0 is way too old. If you can afford to upgrade, upgrade to 7.4.2.

  HTH

  Shridhar


pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Performance problem with correlated sub-query
Next
From: Paul Thomas
Date:
Subject: Re: Performance problem with correlated sub-query