Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-12 Thread Andrus
>> SELECT dokumnr FROM rid WHERE dokumnr NOT IN >> (select dokumnr FROM dok); > ... >> Is it possible to speed up this query is Postgres ? How to force Postgres >> to use indexes for this query ? > > Use IN and NOT IN only for small sets. Use JOIN (instead of IN) and LEFT > JOIN (instead of NOT I

Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-12 Thread Ezequiel Tolnay
Andrus Moor wrote: SELECT dokumnr FROM rid WHERE dokumnr NOT IN (select dokumnr FROM dok); ... Is it possible to speed up this query is Postgres ? How to force Postgres to use indexes for this query ? Use IN and NOT IN only for small sets. Use JOIN (instead of IN) and LEFT JOIN (instead of NOT IN

Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-12 Thread Dan Feiveson
ROTECTED]> Cc: Sent: Tuesday, April 12, 2005 12:33 AM Subject: Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS > > try this query : > > SELECT rid.dokumnr as d1 ,dok.dokumnr as d2 FROM rid left join dok on > rid.dokumnr = dok.dokumnr where dok.dokumnr is

Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-11 Thread Krasimir Dimitrov
try this query : SELECT rid.dokumnr as d1 ,dok.dokumnr as d2 FROM rid left join dok on rid.dokumnr = dok.dokumnr where dok.dokumnr is null; > Tables: > > CREATE TABLE dok ( dokumnr NUMERIC(12), > CONSTRAINT dok_pkey PRIMARY KEY (dokumnr) ); > CREATE TABLE rid ( dokumnr NUMERIC(12)

Re: [SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-11 Thread Tom Lane
"Andrus Moor" <[EMAIL PROTECTED]> writes: > Seq Scan on rid (cost=0.00..28698461.07 rows=32201 width=14) > Filter: (NOT (subplan)) > SubPlan > -> Seq Scan on dok (cost=0.00..864.29 rows=10729 width=14) > Is it possible to speed up this query is Postgres ? Can you switch to int4 or int8

[SQL] Query runs very slowly in Postgres, but very fast in other DBMS

2005-04-11 Thread Andrus Moor
Tables: CREATE TABLE dok ( dokumnr NUMERIC(12), CONSTRAINT dok_pkey PRIMARY KEY (dokumnr) ); CREATE TABLE rid ( dokumnr NUMERIC(12) ); CREATE INDEX rid_dokumnr_idx ON rid (dokumnr); Query: SELECT dokumnr FROM rid WHERE dokumnr NOT IN (select dokumnr FROM dok); runs VERY slowly in Po