[postgis-devel] Postgis topology creation - O(n-squared)? - creates problems with large datasets.

Sandro Santilli strk at keybit.net
Mon Jan 20 05:05:37 PST 2014


On Mon, Jan 20, 2014 at 09:23:08AM +0000, Graeme B. Bell wrote:
> 
> Good morning Sandro, 
> 
> > I've found the culprit!
> > It's a query in topology._ST_AddFaceSplit that fails to make use of the index
> > by checking for overlap between a literal and a function over the indexed
> > geometry, in this form:
> 
> Fantastic work! Congratulations on finding it and fixing it. :-)
> This will help to enable us to try a small real-world project here. 

Great! Looking forward for next advancement :)

> Incidentally - I made them with an open source package called 'rbuild' (confession: I'm the author). https://github.com/gbb/rbuild, if anyone is curious.
>
> I'll wrap up the rbuild topology script neatly and put it on github, and post to the list when it's ready. 
> That way, people can generate topologies of any complexity they like, in any zone they like. 

That'd be perfect for a performance test. It could be only enabled
when "rbuild" is found and feed a version-controlled configuration
to it!

> The asymptote on that curve is looking a lot more healthy :-)

You can see what I meant about "ST_CreateTopogeo" not being
optimized at all, it behaves the same as the incremental builder,
and often it even takes more time.

--strk; 

 ()  ASCII ribbon campaign        - against html e-mail
 /\  http://www.asciiribbon.org   - against proprietary attachments



More information about the postgis-devel mailing list