[postgis-tickets] [PostGIS] #2861: PostGis Topology performance improvements : index on containing_face

PostGIS trac at osgeo.org
Wed Jul 30 03:51:16 PDT 2014


#2861: PostGis Topology performance improvements : index on containing_face
-------------------------+--------------------------------------------------
 Reporter:  remic        |       Owner:  strk 
     Type:  enhancement  |      Status:  new  
 Priority:  medium       |   Milestone:       
Component:  topology     |     Version:  2.1.x
 Keywords:               |  
-------------------------+--------------------------------------------------
 The idea is to put a simple btree index on node.containing_face at table
 creation


 The index would be used in
 _the "intersects" function (case of point/polygon) "'WHERE  ... AND
 r2.element_id = n.containing_face" '"
 _the addface function ''WHERE containing_face IS NOT NULL"
 _ the ST_RemEdgeNewFace function "    -- Update containing_face for all
 nodes still referencing old faces"
 _the ST_RemEdgeModFace function "    -- Update containing_face for all
 nodes still referencing old faces"
 _ the _ST_AddFaceSplit function "  -- Update isolated nodes in new new
 face "


 I think there is significant evidence that such an index will be used.
 My usage of topology is very limited (I only use edge topo) and I don't
 have the benchmark to prove that such index would speed the operations.
 If somebody uses face/node, it should be simple to benchmark : drop
 topology, create topology, create index, import data in topology .
 Then a simple look on index stats should tell if it was used ans how much.

 However :
 _the above function will obviously be speeded.
 _index are mandatory on primary key (postgres default), this should be the
 same for "simple" foreign key
 _ the basic btree index is very low cost (time & memory)

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2861>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-tickets mailing list