Índice de acceso y proporciones de clúster
Cuando elige un plan de acceso, el optimizador calcula el número de E/S necesarias para captar páginas del disco en la agrupación de almacenamiento intermedio. Esta estimación incluye una predicción del uso de la agrupación de almacenamiento intermedio, porque no son necesarias E/S adicionales para leer filas de una página que ya está en la agrupación de almacenamiento intermedio.
- La información CLUSTERRATIO indica el grado en que se agrupan en clúster los datos de tabla en relación con este índice. Cuanto más alto sea el número, mejor se ordenarán las filas en la secuencia de claves de índice. Si las filas de tabla están cerca de la secuencia de clave de índice, las filas se pueden leer desde una página de datos mientras la página está en el almacenamiento intermedio. Si el valor de esta columna es -1, el optimizador utiliza la información de PAGE_FETCH_PAIRS y CLUSTERFACTOR, si está disponible.
- La columna PAGE_FETCH_PAIRS contiene pares de números que modelan el número de E/S necesarias para leer las páginas de datos en agrupaciones de almacenamiento intermedio de varios tamaños, junto con la información CLUSTERFACTOR. Los datos se recopilan para estas columnas sólo si invoca el mandato RUNSTATS en el índice, especificando la cláusula DETAILED.
Si las estadísticas de agrupación en clúster de índice no están disponibles, el optimizador utiliza valores predeterminados, que presuponen una agrupación en clúster pobre de los datos con respecto al índice. El grado en que los datos se agrupan en clúster puede tener un impacto significativo en el rendimiento, y debe intentar mantener uno de los índices definidos en la tabla cerca del 100 por ciento en clúster. En general, sólo un índice puede estar agrupado al cien por cien, excepto cuando las claves de un índice representan un superconjunto de claves para el índice de agrupación en clúster, o cuando hay una correlación real entre las columnas de clave de los dos índices.
Cuando reorganice una tabla, puede especificar un índice que se utilizará para agrupar en clúster las filas y mantenerlas en clúster durante el proceso de inserción. Puesto que las operaciones de actualización e inserción pueden hacer que una tabla esté menos agrupada en clúster en relación con el índice, es posible que tenga que reorganizar periódicamente la tabla. Para reducir el número de reorganizaciones para una tabla que experimenta operaciones frecuentes de inserción, actualización o supresión, especifique la cláusula PCTFREE en la sentencia ALTER TABLE.