This content has been marked as final. Show 1 reply
graph.analyze can take a few arguments (including estimatePercent, dop) to reduce the time to perform statistics collection. We recommend running graph.analyze only after a significant amount of data have been modified (or inserted) into a particular graph.
In your case, if the overhead is still significant (after using dop for example), then the DBA can schedule sem_perf.gather_stats periodically. Note that sem_perf.gather_stats can be run in parallel as well.
sem_perf.gather_stats(false,8) will gather statistics of all graphs in the semantic network with a parallel degree 8.
Alternatively, the DBA can schedule dbms_stats.gather_schema_stats() against MDSYS with options set as GATHER AUTO. With GATHER AUTO, Oracle implicitly determines which objects need new statistics, and determines how to gather those statistics.
Your DBA may also want to save "good" statistics (by using DBMS_STATS.EXPORT_SCHEMA_STATS, or EXPORT_TABLE_STATS) so that if the new statistics cause surprises, the old statistics can be imported back.
Hope it helps,