Generación y aplicación de recomendaciones para convertir tablas a la organización por columnas

El asesor de organización de tablas de carga de trabajo recomienda convertir las tablas organizadas por filas a tablas organizadas por columnas.

Antes de empezar

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. Sus recomendaciones están destinadas a conseguir la mayor mejora de rendimiento estimada para la carga de trabajo de consulta en su totalidad.

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.

También puede visualizar y guardar el DDL para implementar los cambios que sean necesarios para convertir las tablas.

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.

Procedimiento

Para generar y actuar sobre las recomendaciones para convertir tablas a la organización por columnas:

  1. Crear una carga de trabajo de las sentencias SQL que desea ajustar.
    1. 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.
    2. Pulse el botón Guardar todo en una carga de trabajo y, a continuación, proporcione un nombre y una descripción para la carga de trabajo de consulta cuando se le solicite.
    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.
  2. 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.
  3. 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.
  4. 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.
  5. En la parte izquierda del asistente de flujo de trabajo, seleccione Ejecutar asesores de carga de trabajo.
  6. Seleccione la opción Volver a recopilar la información de EXPLAIN antes de ejecutar asesores de carga de trabajo.
  7. Pulse Seleccione qué se debe ejecutar.
  8. 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.
  9. Pulse la pestaña Organización de tabla.

Resultados

Esta sección muestra las tablas recomendadas y no recomendadas para la migración a la organización por columnas.

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:
  1. Supongamos que se realizan todas las conversiones de tabla recomendadas y que se descartan los índices de dichas tablas.
  2. 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
  3. 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 a la organización por columnas o que permanezca igual.
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 eliminarán los índices.
No se permiten índices en tablas organizadas por columnas.
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 RI se cambiarán a NOT ENFORCED.
Será posible que se inserten datos irregulares en la tabla.
Las restricciones ENFORCED CHECK se cambiarán a NOT ENFORCED.
Será posible que se inserten datos irregulares en la tabla.
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.
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.
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.
La tabla ya está organizada por columnas.
La conversión no es necesaria.
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.
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.
Las restricciones de la organización por columnas no permiten la conversión.
Los tipos de tabla siguientes no se pueden convertir a tablas organizadas por columnas: MQT, tabla temporal global declarada, tabla temporal global creada.

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.

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.

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 implementase 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.

Feedback