What Are the Performance Considerations for the Geometry Data Type?
The geometry data type has some performance considerations that you should understand to help you make the most of its capabilities.
You should consider the following performance considerations for the Geometry data type:
- Physical size of the data retrieved by the map
- For large datasets with many distinct geometry records, the performance when rendering a map visualization might be impacted by the size of the geometry data that transits over the network to the browser in which Oracle Analytics is running. The performance is a combination of how many distinct geometries are represented on the map, and the average size (in kilobytes) of each geometry. As the map visualization builds, it fetches the geometry definitions through the network for each distinct shape on the map, and for each distinct layer. Very large lists of geometries take longer to render when geometries have a very fine definition (large average size).
- Mitigation Avoid using too many geometries in a map. Even if the system supports up to 125,000 geometries, using too many can cause the map to render slowly. If you do need to show many shapes at once, filter specific areas so that users can display one area at a time.
- Spatial Cartesian joins
- Spatial calculation functions such as GeometryDistance, GeometryRelate, and GeometryWithinDistance, may require you to have two joined datasets. These functions might require a many to many join type in order to compute every pair of geometries in your data. You must design this modelling with care to minimise the impact on query performance.
- Mitigation
- Use a data model, and most importantly, data filtering on geometry records to avoid Cartesian joining effects.
- When using a database, spatial calculations ship down the function to the database and let Oracle Analytics retrieve the results of the calculation. When you optimize performance, try to ensure this function-shipping is happening properly. There may be cases where other calculations are added (in data flows or workbooks) that prevent Oracle Analytics from pushing down the work to the database. In the context of troubleshooting performance, it’s important to check the context that allows function shipping.