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





Reply via email to