Esta sección es de su interés si va a crear informes a partir de grandes bases de datos y desea reducir el tiempo que le toma procesar y mostrar los resultados.
Nota: Esta sección supone que usted está familiarizado con el Asistente de selección y que elabora informes a partir de una base de datos SQL.
Lo más importante que puede hacer para acelerar el procesamiento de informes es limitar la cantidad de datos que se toman de la base de datos.
Una herramienta principal para hacerlo es la fórmula de selección de registros. Seagate Crystal Reports analiza su fórmula de selección de registros y genera una consulta SQL a partir de ella. La base de datos luego procesa esta consulta SQL y los registros resultantes se envían a Seagate Crystal Reports. Seagate Crystal Reports entonces evalúa localmente la fórmula de selección de registros para cada uno de los registros recuperados de la base de datos, obteniendo así el conjunto de registros que se usará para generar el informe.
Los registros innecesarios se eliminan en dos etapas: en la base de datos con la consulta SQL y en Seagate Crystal Reports mediante la fórmula de selección de registros. Para acelerar el proceso, se prefiere eliminar en la primera etapa la mayor cantidad de registros posible. Esto comúnmente se denomina reducir la selección de registros para la base de datos.
En la base de datos de muestra Xtreme_es, existen 2.001 registros en la tabla Pedidos de los cuales 169 tienen fechas de pedido anteriores a 1997. Supongamos que solamente queremos generar un informe sobre esos registros. Una posible fórmula de selección de registros es:
Year ({Pedidos.Fecha del pedido}) < 1997
La consulta SQL generada enviará los 2.001 registros a Seagate Crystal Reports y luego la fórmula de selección de registros los reducirá a 169. Para ver esto, abra el cuadro de diálogo Mostrar consulta SQL en el menú Base de datos y observe que la consulta SQL no tiene cláusula Where. Esto se debe a que Seagate Crystal Reports no puede reducir la función Year ( ) en la cláusula WHERE.
Por otra parte, una fórmula de selección de registros que genera el mismo
informe es:
{Pedidos.Fecha del pedido} < #Jan 1, 1997#
Esta selección de registros se puede efectuar en el servidor de la base de datos, por lo que ésta se reduce. La consulta SQL generada sólo envía 169 registros a Seagate Crystal Reports y cuando la fórmula es evaluada por Seagate Crystal Reports, no es necesario eliminar más registros. Observe que la consulta SQL resultante tiene una cláusula Where.
Para acelerar el proceso, resulta mejor, si es posible, escribir fórmulas de selección de registros como la segunda y no como la primera; ambas generan el mismo informe, pero la segunda se beneficia de la potencia y optimizaciones disponibles en el servidor de la base de datos para manejar sus propios datos.
| Seagate Software, Inc. http://www.seagatesoftware.com Envíe sus comentarios a: techpubs@seagatesoftware.com |