[postgis-users] Query performance issue
Stephen Woodbridge
woodbri at swoodbridge.com
Sun Oct 16 21:16:01 PDT 2005
I want to thank everyone for their help, suggestions and in general all
the support I got from the list. Here are the results:
I had to do 4 updates like the following:
update streets set boundary=b.name from polygon_layer b
where
streets.the_geom && b.the_geom
and
intersects(streets.the_geom, b.the_geom)
streets has just under 2 million records
the polygon_layers and run times follow. The size of the polygons in
spatial area decrease from A -> D
layer| #poly | time hr | function
---------------------------------
A | 14 | * | n/a
B | 230 | 30 | intersects()
C | 3991 | 33 | distance() <=0
D | 2432 | 3 | intersects()
I tried A first and aborted it after to separate 15 hr runs and
ultimately solve that one a different way by updating the records based
on min and max gid values. After have some success with D, I decided to
run the others and see how long it took.
I guess I should look at the GEOS code and see how it works. Does anyone
know if it uses the Sutherland line clipping algorithm which is probably
the fastest way to test if two segments intersect without computing the
intersection.
Anyway, Thanks again everyone.
-Steve
More information about the postgis-users
mailing list