Re: PostgreSQL caching

From: Marty Scholes <marty(at)outputservices(dot)com>
To: Vitaly Belman <vitalib(at)012(dot)net(dot)il>
Cc: Jochem van Dieten <jochemd(at)oli(dot)tudelft(dot)nl>, pgsql-performance(at)postgresql(dot)org, Marty Scholes <marty(at)outputservices(dot)com>
Subject: Re: PostgreSQL caching
Date: 2004-05-25 22:24:18
Message-ID: 40B3C792.3020106@outputservices.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Vitaly,

This looks like there might be some room for performance improvement...

> MS> I didn't see the table structure, but I assume
> MS> that the vote_avg and
> MS> vote_count fields are in bv_bookgenres.
>
> I didn't understand you. vote_avg is stored in bv_books.

Ok. That helps. The confusion (on my end) came from the SELECT clause
of the query you provided:

> SELECT bv_books. * ,
> vote_avg,
> vote_count

All fields from bv_books were selected (bv_books.*) along with vote_agv
and vote_count. My assumption was that vote_avg and vote_count were
therefore not in bv_books.

At any rate, a query with an IN clause should help quite a bit:

SELECT bv_books. *
FROM bv_books
WHERE bv_books.book_id IN (
SELECT book_id
FROM bv_genres
WHERE bv_bookgenres.genre_id = 5830
)
ORDER BY vote_avg DESC LIMIT 10 OFFSET 0;

Give it a whirl.

Marty

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Robert Treat 2004-05-26 13:13:58 Re: PostgreSQL caching
Previous Message Robert Treat 2004-05-25 21:07:51 Re: Interpreting vmstat