Rhys Stewart wrote:
hi all,
something is not adding up. the following query is taking a long time
to run.(its still running right now)

select distinct on (prem) prem, num, addy, mynum,myad,ff.address, matchtype,
the_geom
from daily.recheck2, _sp_myparcels ff
where
prem not in (
select  distinct on (prem) prem from daily.recheck2 dr, _sp_myparcels ff
where ff.address = unabrev
)
AND btrim(addy) = btrim(myad)
AND  num = mynum

You're probably better of with a NOT EXISTS here, instead of a NOT IN.

UNION

And a UNION ALL here, considering you're already using distinct. Or you could remove the distincts, maybe.

select  distinct on (prem) prem, num, addy, mynum,myad,dr.unabrev,
matchtype,  ff.the_geom
from daily.recheck2 dr, _sp_myparcels ff--, feeder_polygon
where ff.address = unabrev

You could have made your query a bit more readable. For example, leaving the commented out feeder_polygon attribute there could confuse people who're used to a -- (decrement) operator from other languages.

the thing is if i run the first query by itself, it takes like about 2
seconds, and if i run the subquery that takes about 2 seconds also, so
why (well its now finished, took all of 3.31 minutes) does it take so
long?

Why do you ask us, instead of the database? EXPLAIN ANALYZE is your (and our) friend. Without that we can only guess what's slowing down your query.

--
Alban Hertroys
[EMAIL PROTECTED]

magproductions b.v.

T: ++31(0)534346874
F: ++31(0)534346876
M:
I: www.magproductions.nl
A: Postbus 416
   7500 AK Enschede

// Integrate Your World //

---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to