Realizar el mantenimiento de la base de datos
Para obtener un mejor rendimiento, realice periódicamente operaciones de mantenimiento en tablas grandes mediante la ejecución de un comando como RUNSTATS.
El comando de DB2® RUNSTATS actualiza las estadísticas en el catálogo del sistema acerca de las características de una tabla y/o los índices asociados o de las vistas estadísticas. Es muy recomendable que utilice el comando de DB2® RUNSTATS para recopilar las estadísticas actuales sobre tablas e índices, especialmente si se ha producido una actividad de actualización significativa o se han creado nuevos índices desde la última vez que se ha ejecutado el comando RUNSTATS. Este comando proporciona al optimizador la información más precisa con la que determinar el mejor plan de acceso.
Ejemplo:
runstats on table DB2INST2.UA_CONTACTHISTORY and detailed indexes all
Considere el caso de una tabla que podría tener una gran variación en la cantidad de datos que contiene, en un momento dado. La gran variación o extrema volatilidad de este tipo de tabla hace que la fiabilidad de los datos estadísticos recopilados por RUNSTATS no sea muy precisa. Las estadísticas se recopilan en un solo punto en el tiempo y solo reflejan ese instante.
Generar un plan de acceso que utiliza una tabla volátil puede dar como resultado un plan incorrecto o con un rendimiento bajo. Por ejemplo, si las estadísticas se recopilan cuando la tabla volátil está vacía, el optimizador tiende a favorecer el acceso a dicha tabla utilizando una exploración de tabla en lugar de una exploración de índice.
Para evitar este tipo de problemas, considere declarar la tabla como volátil utilizando la sentencia ALTER TABLE. Al declarar la tabla volátil, el optimizador considerará la posibilidad de utilizar una exploración de índice en lugar de una exploración de tabla. Los planes de acceso que utilizan tablas volátiles declaradas no dependen de los datos estadísticos existentes para dicha tabla.
"ALTER TABLE <nombre_tabla> VOLATILE CARDINALITY"