Se requieren cambios en las secciones siguientes:
La información siguiente se añadirá a la información que ya existe en esta sección o la sustituirá:
Se pueden utilizar tablas de resumen duplicadas para ayudarle en la colocación de uniones. Por ejemplo, si tenía un esquema en estrella en el que existe una tabla de hechos grande dividida entre veinte nodos, las uniones entre la tabla de hechos y las tablas de dimensiones son más eficaces si se colocan estas tablas.
Situando todas las tablas en el mismo grupo de nodos, como máximo habría una tabla de dimensiones particionada correctamente para una unión colocada. Las demás tablas de dimensiones no se podrían utilizar en una unión colocada porque la(s) columna(s) de unión de la tabla de hechos no correspondería con la clave de particionamiento de la tabla de hechos.
Por ejemplo, podría tener una tabla llamada FACT (C1, C2, C3, ...) particionada en C1; y una tabla llamada DIM1 (C1, dim1a, dim1b, ...) particionada en C1; y una tabla llamada DIM2 (C2, dim2a, dim2b, ...) particionada en C2; etc.
En este ejemplo, puede ver que la unión entre FACT y DIM1 es perfecta porque se puede colocar el predicado DIM1.C1 = FACT.C1. Ambas tablas están particionadas en la columna C1.
La unión entre DIM2 con el predicado WHERE DIM2.C2 = FACT.C2 no se puede colocar porque FACT está particionada en la columna C1 y no en la columna C2.
En este caso, sería aconsejable duplicar DIM2 en el grupo de nodos de la tabla de hechos. De este modo se puede llevar a cabo la unión localmente en cada partición.
Cuando cree una tabla de resumen duplicada, la tabla fuente puede ser una tabla de grupo de nodos de un solo nodo o una tabla de grupo de nodos de múltiples nodos. En la mayoría de casos, la tabla es pequeña y se puede situar en un grupo de nodos de un solo nodo. Puede establecer un límite para los datos que se duplican especificando tan solo un subconjunto de las columnas de la tabla o limitando el número de filas a través de los predicados que se utilizan o utilizando ambos métodos para crear la tabla de resumen duplicada.
La tabla de resumen duplicada también se puede crear en un grupo de nodos de múltiples nodos. El grupo de nodos es el mismo grupo de nodos en el que ha situado las tablas grandes. En este caso, se crean copias de la tabla fuente en todas las particiones del grupo de nodos. Las uniones entre una tabla de hechos grande y las tablas de dimensiones tienen más posibilidades de llevarse a cabo localmente en este entorno que de tener que difundir la tabla fuente a todas las particiones.
Los índices para las tablas duplicadas no se crean automáticamente. Se crean índices y pueden ser diferentes de los que se identifican en la tabla fuente.
Después de utilizar la sentencia REFRESH, debe ejecutar RUNSTATS en la tabla duplicada tal como haría con cualquier otra tabla.
Las tablas duplicadas se pueden consultar directamente desde una consulta. Sin embargo, no puede utilizar el predicado NODENUMBER() con una tabla duplicada para ver los datos de la tabla sobre una partición determinada.
Para ver si una tabla de resumen duplicada creada se ha utilizado (dada una consulta que hace referencia a la tabla fuente), puede utilizar el recurso EXPLAIN. En primer lugar, debe asegurarse de que las tablas EXPLAIN existen. Después, debe crear un plan de explicación para la sentencia SELECT en la que está interesado. Por último, debe utilizar el programa de utilidad db2exfmt para formatear la salida de EXPLAIN.
El plan de acceso elegido por el optimizador puede utilizar, o no, la tabla de resumen duplicada según la información que deba unirse. No se utiliza la tabla de resumen duplicada si el optimizador determina que resulta más barato difundir la tabla fuente original a las demás particiones del grupo de nodos.
El apartado "Acceso a índices múltiples" del apartado "Conceptos de la exploración de índices" ha cambiado.
Añada la información siguiente delante de la nota que se encuentra al final de la sección:
Para que se den los beneficios de rendimiento de los mapas de bits dinámicos al explorar índices múltiples, puede que sea necesario cambiar el valor del parámetro de configuración de bases de datos correspondiente al tamaño de almacenamiento dinámico de clasificación (sortheap) y el parámetro de configuración de gestores de bases de datos correspondiente al umbral de almacenamiento dinámico de clasificación (sheapthres).
Se requiere espacio de almacenamiento dinámico de clasificación adicional cuando se utilizan mapas de bits dinámicos en los planes de acceso. Si sheapthres se establece en un valor relativamente cercano a sortheap (es decir, menor que un factor de dos o tres veces por consulta simultánea), los mapas de bits dinámicos con acceso a índices múltiples deben funcionar con mucha menos memoria que la anticipada por el optimizador.
La solución consiste en incrementar el valor de sheapthres en relación a sortheap.
La sección "Estrategias de búsqueda para Star Join" del apartado "Terminología de predicados" ha cambiado.
Añada la información siguiente al final de la sección:
Los mapas de bits dinámicos creados y utilizados formando parte de la técnica Star Join utilizan memoria de almacenamiento dinámico de clasificación. Vea el capítulo 13, "Configuración de DB2" de la publicación Administration Guide: Performance para obtener más información sobre el parámetro de configuración de bases de datos Tamaño de almacenamiento dinámico de clasificación (sortheap).