.. on software

Database Priority

23 Jan 2016

Smallworld™ Geometry has priority to group together what is
likely to be used together. Priority can be set at design time.
There is value in maintaining sensible priority as it can make your
app faster.

The documentation in “Performance in Core Spatial Technology” under
“Technical FAQs” has an article on database priority. It has superb
explanations on the benefits. Would be good if they could be included
in the core product docs or be otherwise made available more easily.
In the standard core product docs there is documentation on how to use
the priority_analyser.

The product documentation has all the code snippets - no need to
repeat that here. For trying it out its best to have a real customer
database. Applying newly calculated priority might best be done when
there are no post-able subalternatives, to avoid any runaway priority:
a change in priority means means every record in the database is
touched. To apply new priority to a database there are other
preconditions, read the docs.

The main benefit I got out of running the analyser is the following
line, printed after inspection of the whole database:

The GLOBAL ‘corrupt_geometry’ now contains n corrupt geometries …

That’s news.

No wonder there are prim errors all over the place.

I got rid of them and put it down as an annual task to run the
priority_analysier on the customers database.