I am fully aware of the possibility of 5 executes for 1 million records
totalling 5 million executes.

Anyone can create an example of extremes to invalidate any suggestion. My
example was to acquire the results of a dict item within basic, one of those
missing elements that my sub can handle.

If I were intending to process 5 million records as you would suggest, I
would write a simple program to create the csv's. I create many of these as
programs for their recurring use. I use download for the one-shot simple
projects.

Besides, so what if it did 5 million executes. These systems can handle it.
Time or processor consumption wasn't an issue in the original request

My 1 cent
Mark Johnson
----- Original Message -----
From: "Timothy Snyder" <[EMAIL PROTECTED]>
To: <u2-users@listserver.u2ug.org>
Sent: Thursday, August 31, 2006 9:57 PM
Subject: Re: [U2] Using DICT items in basic program


> [EMAIL PROTECTED] wrote on 08/31/2006 07:03:29 PM:
>
> > The magic is to take the TCL statement, derive the filename (CUSTOMER)
> and
> > using READNEXT, acquire each of the item id's from the SSELECT
> statement.
> >
> > Then I generate very tiny English statements of the form:
> >
> > EXECUTE "LIST FILE "ID" NAME ID-SUPP COL-HDR-SUPP {any other necessary
> > suppressors}" CAPTURING X
>
> If I'm reading this correctly, you're performing multiple executes for
> each record in the file.  In the example you provided, you would be
> performing one execute each for NAME, CSZ, PHONE, CONTACT, and
> AGED.BALANCE.  If you're processing a million records, that means you'll
> be performing FIVE-MILLION executes!!!
>
> Maybe I've misunderstood what you're doing.  But if not, I don't recommend
> this approach.  The overhead of performing that many executes is
> staggering.  I had a customer that had a process that was running in eight
> hours, and they desperately wanted to get it down to four hours.  It was
> consuming an entire CPU and imposing significant I/O wait times that
> impacted system-wide performance.  I found where the program was spending
> most of its time and CPU cycles - it was in a routine that was performing
> executes to locate a value within an index and read through that.  I
> changed it to eliminate the executes and use intrinsic basic functions
> instead - nothing else was changed.  It went down to twenty minutes - much
> better than they had hoped for.  CPU and disk consumption became
> insignificant.  Executes are a wonderful thing, but they are very
> expensive operations when performed many times.  By adding the capturing
> clause, you're adding even more overhead.
> -------
> u2-users mailing list
> u2-users@listserver.u2ug.org
> To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to