Re: Sub-optimal plan for a paginated query on a view with another view inside of it. - Mailing list pgsql-performance

From Pavel Stehule
Subject Re: Sub-optimal plan for a paginated query on a view with another view inside of it.
Date
Msg-id CAFj8pRAc-sk8QigQJJn+9MgLJmxU7pjH90Eqd47tAF_1HsGOXQ@mail.gmail.com
Whole thread Raw
In response to Sub-optimal plan for a paginated query on a view with another view inside of it.  (<slapo@centrum.sk>)
Responses Re: [PERFORM] Sub-optimal plan for a paginated query on a view with another view inside of it.
List pgsql-performance
Hello

please, send result of EXPLAIN ANALYZE

please, use a http://explain.depesz.com/ for saving a plan

there is a more than 8 joins - so try to set geqo_threshold to 16,
join_collapse_limit to 16, and from_collapse_limit to 16.

Regards

Pavel Stehule

2013/8/2  <slapo@centrum.sk>:
> Good day,
>
> I have a performance issue when JOINing a view within another view more than once.
> The query takes over three seconds to execute, which is too long in this case. It's not a problem if the tables are
nearlyempty, but that isn't the case on the production database. 
>
> I suspect the planner thinks it's better to first put together the v_address view and JOIN it to the parcel table
lateron, but the function "fx_get_user_tree_subordinates_by_id" should be JOINed to the parcel table first, as it
reducesthe number of rows to less than 200 and any following JOINs would be much faster. 
>
> I have also ran vacuum, reindex and analyze on the whole database, but it seems to have had to effect.
>
> Is there any way to nudge the planner toward that way of execution?
>
> This is the query:
> https://app.box.com/s/jzxiuuxoyj28q4q8rzxr
>
> This is the query plan:
> https://app.box.com/s/u8nk6qvkjs4ae7l7dh4h (plain text)
> https://app.box.com/s/jzxiuuxoyj28q4q8rzxr (graphical output)
>
> These are the views:
> https://app.box.com/s/uibzidsazwv3eeauovuk (paginated view)
> https://app.box.com/s/v71vyexmdyl97m4f3m6u (used three times in the paginated view).
>
>
> Thank you.
>
> Peter Slapansky
>
>
> --
> Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-performance


pgsql-performance by date:

Previous
From: Jeff Janes
Date:
Subject: Re: ORDER BY, LIMIT and indexes
Next
From: Scott Marlowe
Date:
Subject: Re: subselect requires offset 0 for good performance.