Mike and Arun,
I think the assumption here is that there is that there are no records in the
second file (skip sequential) that are being accessed more than once by a
foreign key from the first file. If that is the case, then I think it makes
sense that a sorted copy of the first file using the same key as the 2nd file
would make a single redundant file, and both can match/merged sequentially. I
assume that the keys are different for each file, because if they are the same,
then the program would have been written with both files processed sequentially
in the first place.
However, let me cut to what I think the real problem may be, and that is that
the 2nd file is over-buffered. The files have almost the same number of
records, which means that one CI in the 2nd file probably has the only record
accessed by foreign key from the first file. I suggest that you knock the BUFND
value for the 2nd file down from 240 to just 2. At the moment you are reading
30 CI for every skip-seq access, (more with zHPF), and probably just reading
the first CI. It's a wild ass guess that all that buffer management, not to
mention the connect time, are at the root of the CPU time you are trying to
eliminate. The BUFND reduction follows my original recommendation to understand
the ratio of 2nd file records accessed per record in the first file. You have
SAS - read the records and analyze it.
TEST.SYLFA4V.VTST.MEMBER.CLUSTER - BUFNI = 30, BUND=225. This file is
accessed sequentially
TEST.SYLFA4V.VTST.MEMBER.PREVDAY.CLUSTER BUFNI = 120, BUFND = 240. This
file is accessed skip-sequentially.
FWIW the idea of using LSR for skip sequential access should probably be nixed
if no record in the 2nd file is accessed more than once. All you will do is
walk the buffer pool and never get a buffer hit. The near equal number of
records supports the no-hit premise.
Ron
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Mike Schwab
Sent: Saturday, January 6, 2018 9:54 AM
To: [email protected]
Subject: Re: [IBM-MAIN] VSAM Performance - CPU reduction
On Sat, Jan 6, 2018 at 11:32 AM, Arun Venkatratnam
<[email protected]> wrote:
<deleted>
> Resp: Reading through the entire file by sequential access took 90 CPU
> seconds while skip-sequential took nearly 230 CPU seconds.
>
Doing the skip sequential (read by key) requires accessing the index to find
the next record. Just skipping through non-matching records
is faster when you are reading a large subset of the records. A sort
to match up the records to create an extract for further processing could be
even faster.
--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN