Optimizer bug in UPDATE with subselect
| От | Ace |
|---|---|
| Тема | Optimizer bug in UPDATE with subselect |
| Дата | |
| Msg-id | 000501c2c238$1340b4c0$a4428a09@ASZEPCZYNSKI обсуждение исходный текст |
| Ответ на | Bug #880: COMMENT ON DATABASE depends on current database (pgsql-bugs@postgresql.org) |
| Ответы |
Re: Optimizer bug in UPDATE with subselect
|
| Список | pgsql-bugs |
I've upgraded my DB to 7.3.1 from 7.2. The following update causes the SEQ
SCAN instead of INDEX SCAN (in 7.2 there was no bug like that):
create table machines(
i_sprzetx int,
mod char(10),
type char(30)
);
create table sprzetx(
rowid int,
ident char(50)
);
create index i_sprzetx on sprzetx(ident);
inserts....
vacuum analyze sprzetx;
update machines set i_sprzetx=(
select g.rowid from sprzetx g
where g.ident=( trim(f.type) || trim(f.mod) )
);
When optimizer meets ANY expression int the query clause switches from INDEX
to SEQUENTIAL disregarding the expression is constant for row.
Helps ALTER COLUMN to machines, UPDATE to TRIM || TRIM but sure it's not
solution.
----------------------------------------------------------------------
Czego nie wykorzystujesz, procentuje! mBIZNES Konto i mBIZNES MAX.
Efektywne oprocentowanie 5.64% i 6.59%. > http://link.interia.pl/f16c0
В списке pgsql-bugs по дате отправления: