Skip to main content

Configurar reglas para mejorar el rendimiento de los reportes 

Una definición de reportes (y de los métodos Obj-*) es solo una consulta. Pega Platform™ construye y optimiza una consulta en función de los parámetros definidos en la regla de la aplicación. Luego, Pega Platform entrega los resultados de la consulta a una página de portapapeles para mostrarlos a sus usuarios finales o para otros fines, como ejecutar un agente en el conjunto de resultados.

Los mismos principios que utiliza para ajustar una consulta de base de datos se pueden aplicar para diseñar reportes de rendimiento. Puede configurar la definición del reporte y los métodos de Obj-* que se usarán. Puede aplicar técnicas en el nivel de la base de datos. Puede elegir adoptar un enfoque completamente diferente para recopilar datos, como usar la automatización mediante robótica o Elasticsearch.

La meta es devolver datos a sus usuarios de la manera más eficiente posible y tener el menor impacto posible en otros usuarios.

Las siguientes técnicas analizan las prácticas recomendadas para configurar reglas dentro de la aplicación.

Usar páginas de datos cuando sea posible

El mejor enfoque para optimizar su reporte es evitar el uso de la definición de reportes como fuente para la interfaz del usuario. Las páginas de datos siempre son eficientes si es necesario reutilizar los mismos datos. Diseñe la estrategia de actualización para obtener datos solo cuando sea necesario. Utilice páginas con alcance de nodo para datos estáticos siempre que sea posible.

Paginación de resultados

La paginación de resultados le permite devolver grupos de datos de a uno por vez. La devolución de grandes grupos de registros puede dificultar que los usuarios encuentren la información que buscan. Por ejemplo, si un reporte devuelve 50 registros a la vez, puede ser demasiada información para que los usuarios la examinen. Seleccione la opción Enable Paging (Habilitar paginación) en la definición del reporte y especifique el tamaño de página.

Para obtener más información sobre cómo configurar la paginación en los reportes, consulte la pestaña de visualización y definición de reportes.

Optimizar las propiedades

Si planea usar una propiedad en sus criterios de selección, optimice esa propiedad. La optimización de una propiedad crea una columna en la tabla de base de datos, que luego puede indexar según sea necesario.

Para obtener más información sobre la optimización de propiedades, consulte el tema de ayuda Planificar la optimización de propiedades.

Usar índices de declaración

Los índices de declaración permiten exponer los datos de la lista de páginas embebidas. Por ejemplo, la aplicación almacena instancias de Work-Party en una tabla pr_index_workparty. Esto le permite escribir una definición de reporte que une los datos del objeto de trabajo con los datos del grupo de trabajo, en lugar de extraer los datos de parte de trabajo de la columna pzpvstream (el BLOB), lo que puede resultar costoso.

Para obtener más información, consulte nuestro artículo de Pega Community sobre cómo usar el índice de declaración para optimizar las propiedades embebidas.

Aprovechar una base de datos de reportes

Para reducir el impacto de las consultas en la base de datos de producción, puede ejecutar reportes con una base de datos de reportes (también conocida como base de datos alternativa). Este enfoque descarga la demanda de la base de datos de producción a una base de datos replicada.

Para obtener más información sobre cómo usar una base de datos de reportes, consulte Configurar una base de datos de reportes.

Evitar las uniones externas

Seleccionar Include all rows  (Incluir todas las filas) en la pestaña Data Access (Acceso a los datos) de la definición de reportes puede ser costoso. Esta opción hace que el sistema utilice una unión externa para el reporte, en la que todas las instancias de una de las clases se incluyen en el reporte, incluso si no tienen instancias coincidentes en la otra clase. Si es posible, seleccione Only include matching rows (Incluir sólo las filas coincidentes).

Usar los reportes en instancias de clases descendientes

De forma predeterminada, Pega incluye pxobjclass como clase actual en la consulta de SQL con el formato "PC0"."pxobjclass" LIKE ?.

Esta opción es útil para incluir clases específicas del grupo de trabajo o reporte creado en la capa del framework. Si Report on descendant class instances está seleccionado, puede optar por incluir solo la clase de implementación o todas las clases descendientes (todas las clases de framework e implementación).

Report_Descendantclasses
Shown is the Report on descendant class instances area within a Report Definition rule’s Data Access tab with Include all descendent classes selected. The second option is Include implementation class only.
 

La condición de filtro en pxobjclass cambió a "PC0"."pxobjclass" IN (? , ? , ? , ? , ? , ? , ? , ? ), donde ? depende del número de clases descendientes. Puede seleccionar un subconjunto específico de clases descendientes para incluir o excluir; para ello, agregue una condición de filtro en .pxObjClass.

 
pxobjclass
​​​​​​This figure illustrates selecting applicable descendant classes instead of all descendant classes when the filter criteria defined on pxObjClass column. This selection can be done by clicking on select values button respective to column defined in the filter criteria.
Nota: La opción Include all descendant classes (Incluir todas las clases descendientes) se aplica a una clase. No se aplica a la unión de clases.
Caution: El rendimiento puede ser deficiente a menos que todas las columnas de la base de datos relevantes estén indexadas en todas las tablas de clases incluidas.

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

¿Le ha resultado útil este contenido?

¿Quiere ayudarnos a mejorar este contenido?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice