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


      

Reply via email to