[postgis-users] Why does this take almost 3 hours?
Ethan Alpert
ealpert at digitalglobe.com
Thu Sep 8 11:16:00 PDT 2005
No explicit JOIN's in my query
-e
-----Original Message-----
From: strk at refractions.net [mailto:strk at refractions.net]
Sent: Thursday, September 08, 2005 11:45 AM
To: PostGIS Users Discussion; Ethan Alpert
Cc: Mark Cave-Ayland
Subject: Re: [postgis-users] Why does this take almost 3 hours?
On Thu, Sep 08, 2005 at 07:37:23PM +0200, strk at refractions.net wrote:
> On Wed, Aug 31, 2005 at 01:21:21PM -0600, Ethan Alpert wrote:
> >
> >
> > I'll look at the explain again. In my first email I mentioned I have
> > created spatial indexes for both my tables.
>
> Ethan, would you run VACUUM ANALYZE and send explain output again ?
A few more words about this.
The explain output you reported in an older mail follows:
Nested Loop (cost=0.00..67.41 rows=4966 width=273) (actual
time=11.040..2397944.885 rows=13416 loops=1)
Join Filter: intersects("inner".the_geom, "outer".the_geom)
-> Seq Scan on nga_reg b (cost=0.00..1.11 rows=11 width=37) (actual
time=0.004..147.586 rows=11 loops=1)
-> Index Scan using new_snaps_spatial on new_snaps a
(cost=0.00..6.01 rows=1 width=268) (actual time=68.748..9599.432
rows=3892 loops=11)
Index Cond: (a.the_geom && "outer".the_geom)
Filter: (a.the_geom && "outer".the_geom)
Total runtime: 2397998.833 ms
What I don't know is why the intersect() function is used as Join Filter
rather then the && operator. Did you force it with an explicit JOIN
.. ON query or was it choosen by the planner ?
In the latter case this might be due to the join selectivity estimator
returning a too high value, in which case you might try recompiling
postgis undefining REALLY_DO_JOINSEL in lwgeom_estimate.c (around line
100).
--strk;
More information about the postgis-users
mailing list