Re: Give me a HINT or I'll got crazy ;) - Mailing list pgsql-general

From Tom Lane
Subject Re: Give me a HINT or I'll got crazy ;)
Date
Msg-id 26897.1255023532@sss.pgh.pa.us
Whole thread Raw
In response to Give me a HINT or I'll got crazy ;)  (wstrzalka <wstrzalka@gmail.com>)
Responses Re: Give me a HINT or I'll got crazy ;)
List pgsql-general
wstrzalka <wstrzalka@gmail.com> writes:
> Prior to the playing with statistics target (it was 100 by default) I
> was able to go with the time to 30ms by adding to the query such a
> condition:

So what sort of "playing" did you do?  It looks to me like the core of
the problem is the sucky join size estimate here:

>    ->  Hash Join  (cost=101.53..15650.39 rows=95249 width=8) (actual
> time=1102.977..1342.675 rows=152 loops=1)
>          Hash Cond: (mal.message_id = m.messageid)

If it were correctly estimating that only a few message_address_link
rows would join to each messages row, it'd probably do the right thing.
But it seems to think there will be thousands of joins for each one...

            regards, tom lane

pgsql-general by date:

Previous
From: Emanuel Calvo Franco
Date:
Subject: Re: How to reduce WAL file Size
Next
From: Scott Bailey
Date:
Subject: Re: Tips/Hacks to create minial DB from the execution of several (simple) SQL requests.