From: | "Roman" <zotov(at)oe-it(dot)ru> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #5542: Query optimization problem |
Date: | 2010-07-06 06:43:47 |
Message-ID: | 201007060643.o666hlPa017398@wwwmaster.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 5542
Logged by: Roman
Email address: zotov(at)oe-it(dot)ru
PostgreSQL version: 9.0
Operating system: Win7 x64
Description: Query optimization problem
Details:
I have a query:
SELECT d1.ID, d2.ID
FROM DocPrimary d1
JOIN DocPrimary d2 ON d2.BasedOn=d1.ID
WHERE (d1.ID=234409763) or (d2.ID=234409763)
i think what QO(Query Optimizer) can make it faster (now it seq scan and on
million records works 7 sec)
SELECT d1.ID, d2.ID
FROM DocPrimary d1
JOIN DocPrimary d2 ON d2.BasedOn=d1.ID
WHERE (d2.BasedOn=234409763) or (d2.ID=234409763)
Result of this query are identical (and can get by replace part of where use
join dependence)
And it works 0-10ms
I think, what QO can undertstand it self.
Table create query:
CREATE TABLE docprimary
(
id integer NOT NULL,
basedon integer,
CONSTRAINT id_pk PRIMARY KEY (id)
);
CREATE INDEX basedon_idx
ON docprimary
USING btree
(basedon);
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitri Fontaine | 2010-07-06 08:16:41 | Re: BUG #5532: Valid UTF8 sequence errors as invalid |
Previous Message | Heikki Linnakangas | 2010-07-05 09:14:53 | Re: Bug in PL/pgSQL FOR cursor variant |