You might want to try a "not exists" constraint, like this: SELECT * FROM survey WHERE NOT EXISTS (SELECT parcel_esri.parcelnum FROM parcels_esri WHERE parcel_esri.parcelnum = survey.parcelnum)
On Sat, Jul 24, 2010 at 2:09 PM, David Epstein <[email protected]> wrote: > I have one spatial table and one non-spatial table each with about 380k > rows. They can be joined by "parcelnum". However, there are some parcel > numbers in each table that do not match. I want the full rows of the > non-matching from each. I've made a standard (b-tree) index for > "parcelnum" in both tables and then ran this query to get non-matching > rows in a single direction: > > SELECT * > FROM survey > WHERE survey.parcelnum NOT IN > (SELECT parcel_esri.parcelnum > FROM parcels_esri) > > This query has already run for 35 minutes and is still running. I have a > laptop running Ubuntu 9.04 64bit with two P8700 2.53GHz CPUs and 3.8GB > of memory. Only 1 CPU and 1.3GB of memory is being used. Is there > anything I can do to speed up not-in (and join) queries? > > thank you, > -david > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users >
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
