Search Postgresql Archives

Re: Performance problem with correlated sub-query

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

 



Howard, Steven (US - Tulsa) wrote:

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.

Just off the top of my head:


SELECT servername, databasename, message
FROM messages o
WHERE o.date_of_msg = (
 SELECT date_of_msg
 FROM messages i
 WHERE i.servername = o.servername
 ORDER BY date_of_msg
 LIMIT 1
);


HTH,


Mike Mascari





---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

[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