Para optimizar el rendimiento de la consulta, puede recopilar estadísticas de los datos que se están consultando.
Las decisiones del optimizador basado en costes son cruciales para consultar el rendimiento. El optimizador toma sus decisiones utilizando la información estadística sobre los datos que se están consultando. Las estadísticas precisas y actualizadas garantizan un rendimiento óptimo de las consultas. Recopile estadísticas siempre que se cumplan las condiciones siguientes.
Puede obtener más información sobre los optimizadores y el rendimiento de las consultas en Perfiles de optimización y directrices.
- Se ha creado una nueva tabla y se ha llenado con datos.
- Los datos de una tabla existente experimentan cambios significativos, como, por ejemplo, las siguientes condiciones:
- Se han añadido nuevos datos.
- Se han eliminado datos antiguos.
- Se han actualizado datos existentes.
Data Virtualization recopila estadísticas de los siguientes elementos para que el optimizador disponga de información suficiente para elaborar planes de ejecución eficaces:
- Cualquier tabla referenciada en una consulta.
- Cualquier tabla a la que se haga referencia en una vista. Cuando cree una vista virtual, asegúrese de recopilar estadísticas para todas las tablas a las que se hace referencia en la vista. Las estadísticas no se recopilan en las vistas.
- Todas las columnas referenciadas en los predicados (incluidos los predicados de unión) y las funciones de agregación referenciadas en las consultas.
No es necesario recopilar estadísticas para las columnas que aparecen solo en la primera lista SELECT de una consulta.
- Cardinalidad de tabla (CARD)
- El número de filas de la tabla.
- Cardinalidad de columna (COLCARD)
- Número de valores distintos de la columna.
- Clave alta (HIGH2KEY)
- El valor de datos más alto o el segundo más alto para la columna, en función del origen de datos remoto de la tabla virtualizada y del tipo de recopilación que se utilice.
- Clave baja (LOW2KEY)
- El valor de datos más bajo o segundo más bajo para la columna, en función del origen de datos remoto de la tabla virtualizada y del tipo de recopilación que se utilice. Para muchas fuentes de datos, Data Virtualization recopila el valor clave más bajo, que puede ser un valor en blanco. Un espacio en blanco no indica que no se hayan recopilado las estadísticas.
- Número de valores nulos (NUMNULLS)
- El número de valores nulos de la columna. Este número es la única estadística que se recopila para las columnas de tipo LOB.
Tipos de recopilación de estadísticas
- remote-catalog
- Este tipo de recopilación de estadísticas solo está soportado para las tablas virtualizadas en los orígenes de datos remotos que dan soporte a un método local de recopilación de estadísticas. Las estadísticas almacenadas en las tablas del catálogo de la fuente de datos remota se recuperan y se almacenan en el catálogo de estadísticas Data Virtualization.Es fundamental asegurarse de que las estadísticas precisas estén disponibles en el origen de datos remoto. El tipo remote-catalog de recopilación de estadísticas no está soportado para las tablas agrupadas.
- remote-query
- Este tipo de recopilación de estadísticas utiliza consultas SQL en la tabla virtualizada para calcular las estadísticas.Este tipo puede utilizar muchos recursos y tardar mucho tiempo en completarse si la tabla virtualizada tiene muchas filas o se recopilan estadísticas para muchas columnas. Para mejorar el rendimiento y conservar los recursos, puede recopilar estadísticas con muestreo de datos especificando la opción TABLESAMPLE en el procedimiento almacenado COLLECT_STATISTICS en Data Virtualization o utilizar el comando ' ANALYZE para fuentes de datos en almacenamiento de objetos en la nube.
Prácticas recomendadas
Para las fuentes de datos remotas que admiten herramientas de recopilación de estadísticas locales, como " IBM® Db2® y " Oracle, la mejor práctica para la recopilación de estadísticas en " Data Virtualization es garantizar que las estadísticas locales en la fuente de datos remota sean precisas y estén actualizadas, especialmente las estadísticas de columna básicas para aquellas columnas clave que se utilizan en los predicados de consulta. Es una buena idea crear un trabajo de recopilación de estadísticas en el cliente web Data Virtualization datos para este fin.