El Asesor de organización de tablas de carga de trabajo recomienda convertir las tablas organizadas por filas en tablas organizadas por columnas y crear tablas de sombra para las tablas organizadas por filas que se utilizan en las consultas analíticas.
Acerca de esta tarea
El asesor examina todas las tablas a las que se hace referencia en las sentencias que se encuentran en una carga de trabajo de consulta. El asesor presenta su análisis y sus razones, de manera que puede ver las tablas recomendadas para la conversión, así como las tablas no recomendadas. Puede ver las cardinalidades de las tablas, cómo hacen referencia a ellas las distintas sentencias de la carga de trabajo de consulta, el coste acumulado de la ejecución de las sentencias que hacen referencia a una tabla, las propias sentencias, etc.
Puede ver y guardar el DDL para implementar los cambios necesarios para convertir las tablas. Incluso puede pulsar un botón para importar el DDL a la característica Convertir tablas en organización de columnas, donde puede editar el DDL y, a continuación, ejecutarlo o guardarlo.
Consejo: Ejecute este asesor únicamente después de que haya observado que las recomendaciones del asesor de estadísticas de carga de trabajo, del asesor de índices de cargas de trabajo, o de ambos, no mejoran el rendimiento lo suficiente.
Es posible que pueda alcanzar el rendimiento deseado para la carga de trabajo de consulta mediante la recopilación de estadísticas, la creación o modificación de índices, o ambos. Además, el asesor de organización de tablas de carga de trabajo se basa en las estadísticas correctas al generar sus recomendaciones.
Restricción: El asesor puede recomendar la creación de las MQT de sombra solo si la base de datos
DB2 for Linux, UNIX y Windows tiene la versión 10.5.4.
Procedimiento
Para generar y aplicar las recomendaciones para la aceleración BLU:
- Crear una carga de trabajo de las sentencias SQL que desea ajustar de forma conjunta.
- Capture las sentencias SQL que desea ajustar. Consulte: Ubicaciones desde las que puede capturar sentencias de SQL para crear cargas de trabajo de consulta que se ejecutan en DB2 para Linux, UNIX y Windows.
- Pulse el botón Crear carga de trabajo de consulta de todas las sentencias y, a continuación, proporcione la carga de trabajo de consultas un nombre y la descripción cuando se le solicitará.
Se abre la página Gestionar
y ajustar cargas de trabajo en la sección Gestionar. La nueva carga de trabajo de consulta aparece en la tabla en esta página. El estado de la carga de trabajo de consulta es CAPTURADA.
- Ejecute el asesor de estadísticas de carga de trabajo dos veces en la carga de trabajo de consulta e implemente sus recomendaciones ambas veces.
- En la sección Gestionar del asistente de carga de trabajo, seleccione la carga de trabajo de consulta y pulse el botón Invocar asesores.
- Opcional: Establezca valores para las preferencias de este asesor que sustituyan las preferencias globales. Seleccione Establecer las opciones de asesor en la parte izquierda de la sección Invocar.
A continuación, seleccione la pestaña Organización de tabla.
- En la parte izquierda del asistente de flujo de trabajo, seleccione Ejecutar asesores de carga de trabajo.
- Seleccione la opción Volver a recopilar la información de EXPLAIN antes de ejecutar asesores de carga de trabajo.
- Pulse Seleccione qué se debe ejecutar.
- Seleccione Organización de tabla y pulse Aceptar. Se abrirá la sección Revisar del asistente de carga de trabajo en la página
Revisar recomendaciones del asesor de carga de trabajo.
Si hay recomendaciones, aparecerá la pestaña Organización de tabla.
- Pulse la pestaña Organización de tabla.
Resultados
Esta sección muestra las tablas que están recomendadas y las que no para la migración a la organización en columnas, así como aquellas tablas para las que se recomiendan tablas de sombra.
En la parte superior de la sección hay una estimación de la mejora del rendimiento de la carga de trabajo de consulta completa.
El asesor calcula la mejora de rendimiento estimada siguiendo estos pasos: - Supongamos que se realizan todas las conversiones de tabla recomendadas y que se descartan los índices de dichas tablas.
- Busque el producto de los dos valores siguientes para cada sentencia de una carga de trabajo de consulta: Número de ejecuciones * Coste de la sentencia
- Sume los productos.
Estas columnas se muestran en la tabla en la parte superior de esta sección:
- Tabla
- Nombre de la tabla organizada por filas que se recomienda para la conversión a la organización por columnas o que se recomienda para que permanezca igual.
- Creador
- Creador de la tabla.
- Organización actual
- Indica si la tabla está actualmente organizada por filas o por columnas.
- Organización recomendada
- Indica si se recomienda la conversión de la tabla en una organización en columnas, si se recomienda el definir a partir de dicha tabla una tabla de sombra o si se recomienda que permanezca como está.
- Aviso
- En tablas en las que se recomienda la conversión, describe los cambios que se pueden producir como resultado de la conversión.
- Se definirá una tabla de sombra en la tabla
- La recomendación es definir una tabla de sombra en la tabla para mejorar el rendimiento de las consultas de analítica.
Una tabla de sombra es una MQT que se mantiene a través de la creación de réplicas.
- Se perderá la partición de datos.
- Puede restaurar la partición de datos sólo si vuelve a convertir la tabla a la organización por filas.
- Las restricciones ENFORCED CHECK se cambiarán a NOT ENFORCED.
- Será posible que se inserten datos irregulares en la tabla.
- Las restricciones ENFORCED RI se cambiarán a NOT ENFORCED.
- Será posible que se inserten datos irregulares en la tabla.
- Se eliminarán los índices.
- No se permiten índices en tablas organizadas por columnas.
- Se eliminarán las MQT.
- Incluso después de que se eliminen las MQT, las sentencias SQL podrán acceder a los datos de la tabla de una forma más rápida.
- Se convertirán las MQT de renovación diferida mantenidas por el usuario. Se descartará cualquier otra MQT
- Todas las MQT de renovación diferida mantenidas por el usuario que se definen en la tabla se convertirán en una organización por columnas cuando la tabla se convierta desde una organización por filas a una organización por columnas.
- Se modificará el espacio de tabla.
- Después de la conversión, la tabla se encontrará en el espacio de tabla especificado en las preferencias del asesor de organización de tablas de carga de trabajo o en un espacio de tabla que seleccione el asesor. Puede modificar el script de conversión para que utilice un espacio de tabla distinto.
- Cardinalidad
- Número de filas que están en la tabla.
- Referencias a tabla
- Número de veces que las sentencias SQL que se encuentran en la carga de trabajo de consulta hacen referencia a la tabla.
- Coste total acumulado
- Suma de los costes de CPU en timerons de cada acceso a datos en la tabla por parte de las sentencias SQL que se encuentran en la carga de trabajo de consulta.
- Sentencias afectadas
- Número de sentencias SQL de la carga de trabajo de consulta que hacen
referencia a la tabla.
- Búsqueda
- Explica por qué se recomienda o no que se convierta la tabla.
- Añadir una tabla de sombra puede agilizar la ejecución de consultas analíticas en la tabla.
- Las consultas analíticas en relación con esta tabla se pueden redireccionar de forma automática a la tabla de sombra para beneficiarse de la aceleración de BLU.
- Las restricciones de la organización por columnas no permiten la conversión.
- Los siguientes tipos de tablas no se pueden convertir a tablas organizadas en columnas: las MQT (que no sean tablas MQT de renovación diferida mantenidas por el usuario), las tablas temporales globales declaradas, las tablas temporales globales creadas.
Además, existen otras restricciones. Por ejemplo, las tablas con columnas LOB no se pueden convertir, ni las tablas utilizadas en sentencias MERGE o en sentencias que declaren cursores. Para ver el conjunto completo de restricciones, consulte la documentación de DB2 10.5 para Linux, UNIX
y Windows o posterior.
- La conversión mejoraría el rendimiento.
- El rendimiento de la carga de trabajo de consulta mejoraría si la tabla se convirtiera a la organización por columnas.
- La conversión no mejoraría el rendimiento.
- El rendimiento de la carga de trabajo de consulta no mejoraría si la tabla se convirtiera a la organización por columnas.
- Las estadísticas que faltan no permiten la conversión.
- Faltan estadísticas de la tabla, por lo que no se puede realizar una conversión fiable. Ejecute el asesor de estadísticas de carga de trabajo para recopilar estadísticas para la carga de trabajo de consulta, ejecute las sentencias RUNSTATS que recomiende el asesor y, a continuación, ejecute de nuevo el asesor de organización de tablas de carga de trabajo.
- La tabla ya está organizada por columnas.
- La conversión no es necesaria.
- La tabla ya tiene una tabla de sombra.
- En esta tabla organizada por filas ya hay definida una tabla MQT mantenida por réplica.
Estas columnas aparecerán en la tabla Sentencias SQL afectadas. La tabla muestra una lista de todas las sentencias SQL de la carga de trabajo de consulta que se verían afectadas por la conversión de las tablas indicadas a la organización por columnas.
- Recuento de ejecuciones
- Número de veces que se ejecuta la sentencia SQL en la carga de trabajo de consulta.
- Ponderación
- Ponderación relativa de la sentencia en la carga de trabajo de consulta. El valor se calcula multiplicando el valor de la columna Coste antes por el recuento de ejecuciones y, a continuación, dividiendo el producto por el total de "Coste antes" de la carga de trabajo de consulta.
- Ganancia estimada de rendimiento
- Aumento estimado del rendimiento de la sentencia que accede a la tabla seleccionada, si se implementa la recomendación de conversión.
- Por ejemplo, una ganancia de rendimiento estimada de 90.61% implica que se requiere un
90.61% menos de tiempo de CPU para que la sentencia acceda a la tabla seleccionada.
- Coste antes
- Coste de la sentencia en timerons antes de la conversión de la tabla a la que hace referencia a una tabla organizada por columnas.
- Coste después
- Coste de la sentencia en timerons después de la conversión de la tabla a la que hace referencia a una tabla organizada por columnas.
- Sentencia SQL
- Texto de la sentencia. Para ver el texto completo de la sentencia, pulse el botón derecho del ratón sobre la fila y seleccione
Mostrar sentencia SQL.
Qué hacer a continuación
Evalúe las mejoras estimadas en el rendimiento de la carga de trabajo de consulta para averiguar si puede ayudarle a cumplir sus requisitos de rendimiento. Si decide seguir las recomendaciones, asegúrese de que se ha realizado una copia de seguridad de la base de datos antes de ejecutar el script que ha generado el asesor. Además, tenga en cuenta que las restricciones sobre integridad referencial de las tablas se eliminarán durante la conversión a la organización por columnas.
Si sigue las recomendaciones para crear tablas de sombra, asegúrese de que se haya instalado InfoSphere
Change Data Capture para DB2 for Linux, UNIX y Windows, se haya creado una instancia y que todas las tablas de sombra de su base de datos estén gestionadas por una sola suscripción.
Cuando genere un gráfico de plan de acceso para cualquier sentencia SQL que haga referencia a una tabla organizada por columnas o a una MQT de sombra, el gráfico incluirá un operador con la etiqueta CTQ siempre que exista una transición entre el proceso organizado por columnas y el proceso organizado por filas. Para obtener información acerca del operador CTQ, consulte Nueva información de Explain para tablas organizadas en columnas.