Analyzing Spatial Query Performance Improvements in Oracle Spatial and Graph 12c Through Cross-Vendor Comparison

I have written an analysis of Oracle 12c’s new spatial performance improvements. The analysis was conducted by comparing what Oracle is offering in Oracle Spatial 12c against two other database types that have a reputation for performance and functionality.

The report is available at the following link

Accessing the Improvements

These spatial performance improvements are available to Spatial users (not Locator) by setting a new system parameter to TRUE:


Purpose of Analysis

The purpose of the analysis was to look at the spatial performance improvements released with 12c in light of the oft heard negative criticism of Spatial’s performance. It did this by comparing the new 12c performance improvements against two other types with reputations for performance, functionality and quality: PostGIS 2.1 and an unnamed 3rd Party spatial type that is implemented using Oracle’s EXTPROC framework.


This comparison is not about who is best or fastest, rather it is an attempt to clarify Oracle Spatial’s performance by reference to known (perceived or real) industry leading technology. Because it is not about who is best or fastest, the statistical standards controlling the comparison and results do not have to be perfect.

This comparison therefore is about seeing if known problem areas, such as Oracle Spatial’s SDO_AGGR_UNION aggregate operator, are now as fast as Oracle’s PostGIS (e.g., ST_Union) and 3rd Party competitors. If they are, then Spatial practitioners will have increased confidence to apply spatial functionality to solve a greater range of problems than before.

Through such a report, those of us who have been critical of Oracle’s performance (as I have) in the past, will hopefully be assured that our concerns have been listened to, and we can, as practitioners, hold our heads up in the company of PostGIS users!

We just might now be able to stop implementing work-arounds (the classic Appendix C GROUP BY mod(rownum,16) hack) because we can rely on Spatial to do the job with standard functionality.

If the comparative performance improvement exists, everyone wins: myself, my customers, Oracle.

I hope the report is useful to all spatial practitioners out there with an interest in database based spatial data storage and processing.

Leave a Reply

Your email address will not be published. Required fields are marked *