Re: Premature view materialization in 8.2?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4/6/07, Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
"Jonathan Ellis" <jonathan@xxxxxxxxxxxxxx> writes:
> I can do that...  you don't think the fact I mentioned, that
> redefining the view to leave out the expensive function fixes the
> problem, is relevant?

Hm, I'd not have thought that an expensive function would get evaluated
partway up the join tree, but maybe that's wrong.  You never did show
us the actual view definition ...

It was in my original post unless it got clipped:

The problem seems to be that clan_members_v contains a call to an
expensive function:

create or replace view clan_members_v as
select cm.clan_id, cm.user_id, cp.party_id, cm.date_accepted,
 p.name as party_name, p_tp_total(p.id)::int as tp_total
from clan_members cm, clan_participants cp, parties p
where cm.user_id = p.user_id
and p.id = cp.party_id
;

p_tp_total takes around 50ms per row.

If I create clan_members_v without the function call, the original
query's speed goes to the 150ms range on 8.2 as well.


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux