Jason Long <mailing.lists@octgsoftware.com> writes:
> In order to do some complex calculations I have joined several views.
> Each view could join quite a few tables.
> The user is allowed to filter the results with several multi-select
> input fields and this is used in the query as where a.id in
> (:listOfIds).
> This works fine if the user does not filter the results. These calcs
> for every row in the entire can be calculated in 1-2 seconds. Certain
> combinations of filters will make the query take up to 4 minutes and
> will freeze the system until it has completed. Queries without these
> calcs at all, but using the same filters work in a reasonable amount of
> time.
You're much more likely to get useful comments if you provide a concrete
example and EXPLAIN ANALYZE results for the various cases.
regards, tom lane