Re: Help with tuning this query - Mailing list pgsql-performance

From Ken Egervari
Subject Re: Help with tuning this query
Date
Msg-id 002801c51f59$9c043900$6a01a8c0@KEN
Whole thread Raw
In response to Help with tuning this query  ("Ken Egervari" <ken@upfactor.com>)
List pgsql-performance
>> left join is for eager loading so that I don't have to run a seperate
>> query
>> to fetch the children for each shipment.  This really does improve
>> performance because otherwise you'll have to make N+1 queries to the
>> database, and that's just too much overhead.
>
> are you saying that you are actually doing a
>  select s.*,ss.* ...
> ?

Yes, this is how the SQL should be written.  When I manually converted the
query, I forgot to include this detail.  In hibernate, you don't need to
specifiy the ss.* because you are dealing with objects, so you just say
shipment.  The ss.* is indicated in the "fetch" part of the Hibernate query.
That was my mistake.

> it might help the planner estimate better the number of cs rows
> affected. whether this improves performance depends on whether
> the best plans are sensitive to this.

This sounds like a good idea since cs rows are quite large.  shipment and
shipment_status are the largest tables in the database and they will grow
very large over time.


pgsql-performance by date:

Previous
From: Ragnar Hafstað
Date:
Subject: Re: Help with tuning this query
Next
From: "Ken Egervari"
Date:
Subject: Re: Help with tuning this query (with explain analyze finally)