DBAtlas · Atlas de operaciones de bases de datos

Recopilar estadísticas (DBMS_STATS)

OracleMantenimiento

Comando

-- Single table (including cascaded indexes):
EXEC DBMS_STATS.GATHER_TABLE_STATS(ownname => 'CUSTOMER_APP', tabname => 'CUSTOMER', cascade => TRUE, estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, degree => 4);

-- Whole schema:
EXEC DBMS_STATS.GATHER_SCHEMA_STATS(ownname => 'CUSTOMER_APP', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, cascade => TRUE, degree => 4);

-- Whole database (run only in a maintenance window / off-peak hours):
EXEC DBMS_STATS.GATHER_DATABASE_STATS(estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, degree => 4);

Qué hace

Recopila las estadísticas de tablas/índices para el optimizador; garantiza que se generen planes de ejecución correctos.

Cuándo usarlo

Tras DML/cargas masivas, cuando los planes empeoran, tras crear un índice o tabla nuevos.

Precaución

Los cambios de estadísticas pueden cambiar los planes de ejecución; en sistemas críticos pruebe/compare primero con AWR. El paralelismo DEGREE consume CPU. GATHER_DATABASE_STATS es pesado en horas de alta carga.

Abrir en DBAtlas →

Relacionado