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. ================================================

