Re: join with redundant results VS simpler join plus multiple selects

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: WireSpot <wirespot(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: join with redundant results VS simpler join plus multiple selects
Date: 2008-11-20 18:40:54
Message-ID: 4925AF36.7020302@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

WireSpot wrote:
> On Thu, Nov 20, 2008 at 15:05, Craig Ringer <craig(at)postnewspapers(dot)com(dot)au> wrote:
>> That's probably going to be the case. PostgreSQL won't need to read the
>> redundant info in from disk each time, and relative to the image data it's
>> going to be pretty small. By doing it all in one join you're avoiding the
>> overhead of all those network round trips (if on a network), statement
>> preparation and planning, etc etc etc. Additionally, PostgreSQL is probably
>> going to be using a join plan that's much more efficient than anything
>> you'll get by looping over each user and asking for images.
>
> How about if the subset of images for each user is randomized? As in
> ORDER BY RANDOM() LIMIT 3. I'm guessing that will put somewhat of a
> cramp on the big join scenario and perhaps it becomes better to have
> the RANDOM() in the small individual selects?

I'm not even sure how you'd achieve that (exactly 3 randomly selected
images per user) in with a single query. Then again, it's stupidly late
here, so my brain may not be working. Any chance you can post a query
that shows what you're doing?

--
Craig Ringer

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message wstrzalka 2008-11-20 18:52:25 Sorting JTA survey results
Previous Message Brandon Metcalf 2008-11-20 18:11:35 Re: example of really weird caching (or whatever) problem