Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.



Read-Only Read-Only Topic
Go
Search
Notify
Tools
Performance issue
 Login/Join
 
<Helpme>
posted
Hello frens, We have a PDF report which reads from a dynamic table(records keep changing) which has records already sorted on 14 columns. The fex sorts again on 14 fields to do a page break when any of those 14 fields changes. For 11 thousand records it takes 9 mins of time. To improve performance we have modified the table to have an extra column whose value changes when any of those 14 columns value changes. This brought down the processing time significantly by 4 mins. But still 5 mins of processing time for 11 thousand records is not acceptable for us. The number of records can vary and on an average we may need to report from 30 thousand records. We have tried to use the external sorting but as we need to use style sheets in our report, we could not go with this option. Any suggestions are greatly appreciated.
 
Report This Post
Platinum Member
posted Hide Post
I guess it depends upon a couple of things. Do you know where specifically the time is consumed

5 minutes to output PDF
- Data Retrieval from RDBM's
- Sorting by Reporting Server
- Generating the PDF

Without specifics it could be anyone's guess.
 
Posts: 140 | Registered: May 02, 2007Report This Post
Expert
posted Hide Post
as Fortune says, run the report without pdf or html output, just holding the report files as ON TABLE HOLD.
see how long that takes.
if it takes a very short time, then you know your time is being consumed by your network in delivering the output to the enduser's pc.
What is the form ofyour orginating database? are there indexes on all the 14 (now 15)fields you sort by?
Edit your profile please to say where you are and who you work for.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Virtuoso
posted Hide Post
What type of database is it.
Can you post the master file.

you say "on 14 fields to do a page break when any of those 14 fields changes." So this might create a new page for every record in the database...is that correct?
11.000 pages will take some time.....




Frank

prod: WF 7.6.10 platform Windows,
databases: msSQL2000, msSQL2005, RMS, Oracle, Sybase,IE7
test: WF 7.6.10 on the same platform and databases,IE7

 
Posts: 2387 | Location: Amsterdam, the Netherlands | Registered: December 03, 2006Report This Post
Master
posted Hide Post
Since your records are already sorted and you are just using the BY fields for control breaks, you could try using TABLEF instead of TABLE. This would eliminate the actual sorting.


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
 
Posts: 755 | Location: TX | Registered: September 25, 2007Report This Post
<Helpme>
posted
Thanks for all your posts.

Most of the time is consumed in sorting. Reading just the records is taking approximately 60 secs and the table command that does the sorting is taking more than 3 mins.

I forgot to mention that we use DB2 database. for 11 thousand records, around 350 page report is generated as there will be around 65 records for each combination of those 14 fields and each combination takes one and half pages. But since there is a pagebreak, the next combination is started on the next page.

I will try TABLEF like PBrighWell suggested and hopefully it reduces the processing time...

Thanks again for all your posts.
 
Report This Post
Master
posted Hide Post
60 secs to read 11K rows? That seems like an very long time. First thing I'd do is use TABLEF and SQL tracing to make sure the SQL being generated is as efficient as it can be. If you can't get efficient SQL, write your own using SQL passthru.

In my environment, just returning a large spreadsheet with 11K rows or a similar PDF can take a long time and if there are a lot of columns, it can take a very long time. I don't mean execution time, I mean delivery time.

One of the thing I do so that the user is not just sitting at his screen waiting, is use DSTRUN to run a RC job immediately and deliver the report via email. What I do is write the parameters, user id, email address, etc. to a file. Then I run the RC job using DSTRUN. This frees up user's browser. It also eliminates the possibility of the user's browser timing out.


In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.
 
Posts: 975 | Location: Oklahoma City | Registered: October 27, 2006Report This Post
Master
posted Hide Post
Also, make sure you are not selecting on defined fields. With DB2, you will define the field to every row in the database and then do the selection.


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
 
Posts: 755 | Location: TX | Registered: September 25, 2007Report This Post
<Helpme>
posted
Thanks for your posts. We generally distribute the reprot to library and show it on the application queue page using API.

But when I run it through Dev Studio itself I found it taking this long time. Moreover the TABLEF command does not allow me few stylesheet settings.
 
Report This Post
Master
posted Hide Post
helpme,
In DB2, you can create an index over your sort fields using the basic SQL
CREATE INDEX SCHEMA.INDEXNAME ON SCHEMA.TABLENAME (FIRSTSORTFIELD ASC, SECONDSORTFIELD ASC, THIRDSORTFIELD ASC...);

"To improve performance we have modified the table to have an extra column whose value changes when any of those 14 columns value changes"

This is where you use something called an EVI (or Bitmap if you're on Oracle) for fields that are very high cardinality and used in your where clause.

CREATE ENCODED VECTOR INDEX SCHEMA.INDEXNAME ON SCHEMA.TABLENAME(FLAG_FIELD);

you're running db2, which has some other really great features that will really help you, such as materialized query tables.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Platinum Member
posted Hide Post
if the code isn't too much you may want to post it and see if we can offer any additional suggestions.


Prod: WebFOCUS 7.1.6, Windows 2003

Dev: WebFOCUS 7.6.2, Windows 2003
 
Posts: 140 | Registered: May 02, 2007Report This Post
<Helpme>
posted
Thanks Jason. We have an index created on the sort field. Now, we are sorting only one field. I think we can give a thought about materialized query tables...

FortuneCookie, I will not be able to post the code for some reasons.

Thanks again.
 
Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic


Copyright © 1996-2020 Information Builders