Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Calculating pages - slows down...

edited November 2001 in General
I have a monsterous report that is about 50000 pages (approx 3Million
records). It
calculates pages at a fairly good clip until it hits about page 25, 000.
Then it builds about
10 pages / min. I have the 2 pass setup so I can see the pages counting
off. I have the
page caching turned off. Any idea why it is so slow?

my setup...
I have an ads query and use an index to order the records. Instead of
having my query do
all the linking to all tables, I have the keys which will be used to link
into other tables. I
have about 10 tables which link to the query to get the definitions I want
in the report. I do not use a datamodule.

Thanks.

Comments

  • edited November 2001
    "Neil" wrote in message
  • edited November 2001
    How do you suggest I "break up the report into chunks"?

    Thanks.

  • edited November 2001
    MAybe letting the user filter which information exactly he want to see before
    generating the report. I find hard a user can check a 50.000 pages report
    anyway ;)

  • edited November 2001
    You can break a report up by setting a range on the master query. You will
    have to use a TppVariable in the report to show the proper page count. The
    page count will have to be strored by your application after each report has
    printed. Then just setup the next query, and initialize the TppVariable
    before the next call to report print. If you have a key integer field for
    the masters, then it should be pretty easy to figure out the ranges, perhaps
    print something like five 10,000 page reports and you should get better
    performance without running into the resources issues.


    Cheers,

    Jim Bennett
    Digital Metaphors


  • edited November 2001
    I know, but the customer is the one paying the bill...they want it! It is
    my job to give it to them the way they want.

    thanks.

  • edited November 2001

This discussion has been closed.