Dmitry Tkach <dmitry@openratings.com> writes:
> Well... Yes. I am doing that daily. Actually, I was wonderring about
> those estimates too, but that's not my primary concern right now -
> perhaps, it should be, but, as far as I understand, the estimate only
> matter for the query plan selection, and I don't have a problem with the
> query plan
You should. If the query can be done any faster, it will be by picking
a different query plan. I'm not sure what would be a better plan, but
certainly a large part of the problem is that the planner is so far off
about the rowcount estimates.
One thing I'm wondering is if the index on tradestyle.name could be helpful.
How selective is "ts.name like 'POST%'", exactly --- does that eliminate
a lot of rows, or not? Is the thing able to use that as an indexqual
(ie, are you in C locale)?
To tell you the truth, I do not believe your assertion that these tables
have been analyzed. I don't see how the rowcount estimates could be so
small if the planner were aware of the true table statistics. What does
pg_stats show for the columns used in the query?
regards, tom lane