Re: Strange query optimization in 7.3.2
| От | Tom Lane |
|---|---|
| Тема | Re: Strange query optimization in 7.3.2 |
| Дата | |
| Msg-id | 2233.1050361704@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: Strange query optimization in 7.3.2 (Alec Mitchell <apm13@columbia.edu>) |
| Список | pgsql-general |
Alec Mitchell <apm13@columbia.edu> writes:
> The tr/t join produces 52 rows with unique trailers (the primary key on tr)
> out of the 750 available (the planner estimates 62). These are then joined
> with the manifests table m, which has 13526 rows. The relationship between
> tr.trailer and m.trailer is a bit complex. Of the 750 possible trailer
> values in tr, 607 have a one to one mapping to rows in m. The remaining 143
> values are each referenced in 1-70 (avg 24) different rows in m.
> Additionally, there are 9510 rows in m (the vast majority), which have a null
> value for trailer (perhaps that is the cause of these bad statistics).
Hmm ... we fixed a bug last fall in which NULLs were twice-excluded from
the estimates for range queries, leading to silly results when the
proportion of nulls got nontrivial. This isn't a range query, but
I wonder if there's a similar bug lurking here ...
Could you see your way to sending me a dump of these tables for testing
purposes? You could exclude the columns not used in the FROM/WHERE
clauses, if that is needed to satisfy privacy worries.
regards, tom lane
В списке pgsql-general по дате отправления: