When considering the need to efficiently extract data from ADABAS, oftentimes a concern is raised about Natural’s ability to efficiently handle the large volumes of data that can reside in ADABAS.  While this concern can legitimately be applied to poorly written Natural programs, the fact of the matter is that well-written and properly executed Natural programs, executed either stand-alone or in conjunction with existing ADABAS utilities, can deliver outstanding performance, like:

Processing 3,026,167 Records In Under 352 Seconds

The purpose of this page is to provide the execution times for 4 native methods of extracting data from ADABAS, and let facts speak for themselves.  The methods used were:

  1. Natural (no use of Multi-Fetch)
    The Natural program utilized a READ PHYSICAL against the source file.
  2. Natural (with use of Multi-Fetch)
    The Natural program utilized a READ PHYSICAL against the source file.
  3. Extraction with ADACMP / Natural
    The ADACMP utility was executed using the Decompress Infile option, with the output of ADACMP then being processed by a Natural program.
  4. Extraction with ADAULD / ADACMP / Natural
    The ADAULD utility was executed, with the output of ADAULD then being processed by the ADACMP utility, with the output of the ADACMP then being processed by a Natural program.

Each of the above methods were executed to extract specific data fields from all records in the same ADABAS database with this ADABAS file containing 3,026,167 records.  The results can be seen below (this is best viewed with your browser default set to Less Than “Largest”):


Execution Times

Records Extracted per Second

1. Natural (no use of Multi-Fetch)

32:53 Minutes


2. Natural (with use of Multi-Fetch)

6:29 Minutes


3. ADACMP / Natural   

5:51 Minutes

2:36 - ADACMP Jobstep
3:12 - Natural Jobstep


4. ADACMP / ADAULD / Natural

6:29 Minutes

2:07 - ADAULD Jobstep
1:00 - ADACMP Jobstep
3:19 - Natural Jobstep


As can be seen in the results above, the intelligent use of Natural can deliver exceptional performance, either by itself (Method #2) or when intelligently used with existing ADABAS utilities (Method #3 & Method #4.)

Notes on Tests:

  1. The above tests were all executed on a mid-range VSE machine running ADABAS 6.2.2 and Natural 3.1.2.
  2. Each extract process was instructed to read all records contained in the same ADABAS file (3,026,167 records).
  3. Each extract process ran within a 1 hour period, on the same day, in the same partition.
  4. Each extract process delivered the same requested fields.
  5. The Natural programs used in Methods #1 & #2 were identical; the only difference between Method #1 & #2 was the use of Multi-Fetch.
  6. The Natural programs used in #3 & #4 were identical.
  7. Each extract Method additionally executed the IBM utility IDCAMS to delete  / define the final output dataset as a first step in execution, with this final output dataset residing in a VSAM Cluster (VSAM for SAM).
  8. Multi-Fetch (or Pre-Fetch) is a underutilized native feature of ADABAS that utilizes data-block buffering to achieve enhanced performance.  NatWorks products can automatically take advantage of this feature where appropriate.
  9. ADACMP is a native ADABAS utility that primarily functions to compress data into ADABAS format or decompress data from ADABAS format.  In Method #3 above, a function of ADACMP called Decompress Infile was used to directly decompress data from an active (unlocked) ADABAS source file.  In Method #4 above, ADACMP was used only to decompress records from a temporary sequential dataset produced by the ADAULD utility.
  10. ADAULD is a native ADABAS utility that functions to unload an ADABAS file.
  11. NatQuery was used to generate all objects (Natural Programs, Job Control Language and any required parameters) for each of the above four processes from “scratch” against a fully configured NatQuery environment with the generation and submission time, start to finish, averaging less than 45 seconds.

                                                           [Back to Top]
                                       [Back to the NatQuery Information Page]

Natural Extraction Performance