Select to view content in your preferred language

Improve performance of SDE.GDB_ITEMS_VW by precomputing DEFINITION field

564
0
03-08-2022 12:11 PM
Status: Open
Bud
by
Esteemed Contributor

(edited)

The SDE.GDB_ITEMS_VW view in Oracle GDBs is relatively slow due to the calculated columns:
-  sde.sdexmltotext(d1.xml_doc) AS definition,
 - sde.sdexmltotext(d2.xml_doc) AS documentation,
 - sde.sdexmltotext(d3.xml_doc) AS iteminfo,

Could Esri consider precomputing the calculated columns in that view — especially the DEFINITION field? I imagine there would be a few different ways it could be done:
 - Materialized view
 - Function-based index
 - Trigger to populate a field in a table
 - Other Oracle mechanisms?

We'd do it ourselves in our GDB, but we prefer not to modify the objects in the SDE owner...for multiple reasons, such as: it adds complexity to GDB upgrades.

I would think the materialized view option would be especially appealing to Esri. It would be fairly easy to convert the existing view to a materialized view. And the change wouldn't compromise any existing dependencies, since the view's name would stay the same. Esri could use the fast refresh/materialized view logs option...which would mean the materialized view would update in real time (which I imagine is necessary).

Similarly, function-based indexes would be a low-impact, easy, real-time option too.