Jim
My break points in the Report and Tables in the view are below. Other than Insco1 from Ptinfo all breaks are on the Hist table, The Explain.dat files show both 7.5 and 8.0 are using a different table order than the view and break points So, would changing the view table order help the report use that table order or help much? or is there another way to force a different table order when printing? Ok time to put your coffee cup down so you do not spill it... What makes sense in my RBrain would be an Order by clause on the View to match the Report Breaks? If the report is based off a view why does it access the individual tables? As you can tell I am trying to understand how this works and maybe save everyone a few laughs down the road. The beauty of RBase is someone like me can make some cool apps, Thanks Marc Treat_dr from Tran_hist Insco1 from Ptinfo (customers) Cust# from Tran_hist Date_con Tran_hist Tr_date Tran_hist My current view uses FROM + tran_hist t_1,+ ptinfo t_2,+ ptdiag t_3,+ ch_cod t_4,+ drinfo t_5,+ inscomp t_6 + WHERE + (t_1.tr_type = '1') AND + t_1.custnum = t_2.custnum AND + t_2.custnum = t_3.custnum AND + t_1.date_con = t_3.date_con AND + t_1.ch_code = t_4.ch_code AND + t_1.treat_dr = t_5.dr_num AND + t_4.feesch = t_6.fee_sch From: James Bentley Sent: Thursday, May 07, 2009 7:58 PM To: RBASE-L Mailing List Subject: [RBASE-L] - Re: 7.5 vs V8 speed With all due respect to members on this list who are fond of using temporary tables. Views create internal temporary tables. If you will notice the v7.5 select cost is 20.53947 while the v8.0 select cost is 7.697846 by my understanding version 8 found a more efficient way to join the tables. When we create temporary tables and do all the joins as Gary suggest I believe we most often add program overhead that we don't account for versus letting views create the internal temporary tables. Marc. You need to review the way the view is constructed as related to the order for the report. Jim Bentley American Celiac Society [email protected] tel: 1-504-737-3293 -------------------------------------------------------------------------------- From: Gary Wendike <[email protected]> To: RBASE-L Mailing List <[email protected]> Sent: Thursday, May 7, 2009 4:24:17 PM Subject: [RBASE-L] - Re: 7.5 vs V8 speed Mark, you mentioned that the report is based on a 6 table view. How much data is being affected by each of the tables? When you browse the view, how long does it take for the data to appear? How much time does it take to print the report from 7.5? 8.0? What is the goal in time to print? If you are looking at a large amount of data, then I would suggest breaking the view into components and then building the final table from the components. Sometimes it is quicker to create several smaller tables/views and bring them together rather than trying to gather all the data at one time from many locations (at least this is what I have found). How the tables go together will be based on what data data you will want to view. You can use simple view combination or Left Right or Full Outer Joins to gather the data. I use this process quite a bit... Example.. Table1 with Table2 Create temp view12 then project temp table12 Table12 with Table3 Create temp view123 then project temp table123 Table123 with Table4 Create temp view1234 then project temp table1234 I think you get the picture. Even though there may be some additional programming you may find the speed. Could be worth a try. One thing you might want to consider, is the size of the tables being generated. Gary -------------------------------------------------------------------------------- From: MDRD <[email protected]> To: RBASE-L Mailing List <[email protected]> Sent: Wednesday, May 6, 2009 5:03:12 PM Subject: [RBASE-L] - Re: 7.5 vs V8 speed Unfortunately Project Temp from View then Printing the Report is not much faster compared to the original way. Marc It sounds like you should do the PROJECT TEMP ... command from your view (include the WHERE clause in your PROJECT), base the report on the temp table instead of the view. Bill On Tue, May 5, 2009 at 12:47 PM, A. Razzak Memon <[email protected]> wrote: At 10:25 AM 5/5/2009, Marc Schluter wrote: The command below takes 2 times longer in V8 compared to the same code in 7.5. PRINT NewForm76D WHERE tr_date BETWEEN 1/1/09 AND .#date AND insco1 = 7 AND compnum = insco1 ORDER BY insco1, custnum, tr_date The report is based on a 6 tab view, Browse all from View using the same where clause only takes 1/4 the time compared to the Print statement. Leaving off the Order by does not make any difference. I am using a copy of the same DB converted to V8, so all data, reports and indexes are the same. I did notice that the #1 file was 46 k now it is 191 k and the # 3 file is almost double the size in V8. Is that normal? I am not sure what to look for next? Marc, In addition to all the good suggestions you have already received, take a look at your report for "Pass Settings". If you are not using the System Variables "Page Set with Description" option, such as [Page nn of nn], or DBCalcs with "Look Ahead" option, change the Report "Pass Setting" from "Two Pass" to "One Pass". Here's how: Report Designer | Main Menu | Report | Pass Settings This will definitely speed up the PRINT engine. Once you have made the suggested change, try the following command to PRINT the report: -- Example -- Start here PRINT NewForm76D WHERE Tr_Date BETWEEN 1/1/2009 AND .#DATE + AND InsCo1 = 7 AND CompNum = Insco1 + ORDER BY InsCo1, CustNum, Tr_Date + OPTION SCREEN|WINDOW_STATE MAXIMIZED + |ZOOM_TYPE PERCENTAGE + |ZOOMPERCENT 98 + |PREVIEW_CAPTION New Form 76D RETURN -- End here Hope that helps! Very Best R:egards, Razzak. --- RBASE-L ================================================ TO POST A MESSAGE TO ALL MEMBERS: Send a plain text email to [email protected] (Don't use any of these words as your Subject: INTRO, SUBSCRIBE, UNSUBSCRIBE, SEARCH, REMOVE, SUSPEND, RESUME, DIGEST, RESEND, HELP) ================================================ TO SEE MESSAGE POSTING GUIDELINES: Send a plain text email to [email protected] In the message SUBJECT, put just one word: INTRO ================================================ TO UNSUBSCRIBE: Send a plain text email to [email protected] In the message SUBJECT, put just one word: UNSUBSCRIBE ================================================ TO SEARCH ARCHIVES: Send a plain text email to [email protected] In the message SUBJECT, put just one word: SEARCH-n (where n is the number of days). In the message body, place any text to search for. ================================================

