Re: 8.4b1 regression?
| От | Tom Lane |
|---|---|
| Тема | Re: 8.4b1 regression? |
| Дата | |
| Msg-id | 13010.1240454874@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | 8.4b1 regression? ("Eric B. Ridge" <ebr@tcdi.com>) |
| Ответы |
Re: 8.4b1 regression?
|
| Список | pgsql-hackers |
"Eric B. Ridge" <ebr@tcdi.com> writes:
> I loaded a copy of a production database into PG 8.4b1 and immediately
> saw that all of our queries were significantly slower compared to v8.1.
> Some investigation showed that the use of non-IMMUTABLE PL/PGSQL
> functions as view columns, when these views are joined with other
> views, cause the query to be planned poorly.
I think this is due to a change that was made in 8.2:
* Do not flatten subqueries that contain volatile functions in their target lists (Jaime Casanova)
This prevents surprising behavior due to multiple evaluation of a volatile function (such as random() or
nextval()).It might cause performance degradation in the presence of functions that are unnecessarily
markedas volatile.
The pre-8.2 behavior was unduly optimistic about the safety of
rearranging calls to volatile functions.
regards, tom lane
В списке pgsql-hackers по дате отправления: