Это зависит. Он собирает статистику по всем таблицам, кластерам и индексам в схеме V_USER
. Таким образом, если статистика актуальна при вызове процедуры, вы можете удалить ее. Проверьте с
SELECT table_name, last_analyzed FROM all_tables WHERE owner=V_USER ORDER BY last_analyzed;
Обычная рекомендация - вызывать его, только если было вставлено или удалено значительное количество данных.
Я бы не стал использовать DBMS_UTILITY.ANALYZE_SCHEMA
, но переключился бы на более новую DBMS_STATS .GATHER_SCHEMA_STATS
. Кроме того, я не использовал опцию COMPUTE
годами, так как ESTIMATE
обычно достаточно хорош.