Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Adabas Access

Similar presentations


Presentation on theme: "Efficient Adabas Access"— Presentation transcript:

1 Efficient Adabas Access

2 ADABAS Access READ PHYSICAL READ BY ISN (GET) READ LOGICAL FIND
* Select the correct access method. * Code it efficiently. READ PHYSICAL READ BY ISN (GET) READ LOGICAL FIND HISTOGRAM

3 Natural Commands READ Physical Data Storage
Use when reading more than 20% of the records in a file Generally least expensive method to read all records Only update if Potential double updates will not be a problem Restartability not a problem Safest to run when file not being updated

4 ADABAS Access - READ PHYSICAL
Access to Data Storage only. Records returned in the order they are stored physically in Data Storage * Can results in 4 I/Os (1 per block) & 14 ADABAS Calls * Order of records returned: 2,1,14,3,5,12,4,6,7,8,11,9,20,21

5 Natural Commands READ by ISN Address Converter Data Storage
Use when reading more than 20% and some updating ISN use ensures no double updates & no missed updates ISN may be used as restart point Second fastest access method Used when updating file but not one for one with the outside loop

6 ADABAS Access - READ BY ISN
Access to Address Converter & Data Storage Records returned in ascending ISN order

7 Natural Commands READ Logical Inverted List Address Converter
1 Inverted List 4 Data Storage Address Converter 2 3 Use when reading 1 record or a small range of records Returned in sorted order by index read Be careful when updating read key fields

8 ADABAS Access - READ LOGICAL
Returns records in sequence by Descriptor, Sub-, or Super-Descriptor Accesses Inverted List, Address Converter, and Data Storage Useful for reading small portion of a file Consistent performance

9 ADABAS Access - READ LOGICAL
* Access inverted list for ADAMS * Access Address Converter and pick up second entry (RABN of ISN 2) * Access block 125 of data storage. * Move across block to record with ISN 2 (first in block) * Access Address Converter and pick up seventh entry (RABN of ISN 7) * Access block 127 of data storage * Move across block to record with ISN 7 (3rd record) * Repeat Address Converter/data storage access for records with ISNs 9 and 12 * Access Inverted List for Baker. * Access Address Converter and pick up 1st entry (RABN of ISN 1) * Continue as above for remaining BAKERs, CHARLES, DAVENPORT and DAVIS.

10 Natural Commands FIND Memory Inverted List Work Address Converter
2 Data Storage 3

11 Natural Commands Returns records in *ISN sequence
FIND Useful for accessing small groups of records with one or more selection criteria Returns records in *ISN sequence A FIND which selects a set of records > 51 will generate I/O to work part 3 Complex FINDs can generate I/O to work part 2

12 Natural Commands LAST-NAME = ‘BROWN’
FIND Simple find (algorithm 1): LAST-NAME = ‘BROWN’ Moderate complexity (algorithm 2): LAST-NAME = ‘BROWN’ OR ‘JONES’ Complex FIND (algorithm 4): FIND PERSONNEL WITH AGE > #AGE AND SEX = #SEX AND VET-STATUS = ‘V’

13 ADABAS Access - FIND Selects a set of records & returns that set in ISN sequence Access Inverted List & select set of records which meet search criteria If number of ISNs > 51, ADABAS uses Work DS Access Address Converter to obtain DS RABN

14 ADABAS Access - FIND Read block from Data Storage & locate record
Repeat for each ISN in the list FIND SORTED BY - avoid when possible Non descriptor search criteria - ensure it is not primary criteria

15 ADABAS Access - FIND FIND PERSONNEL WITH NAME = ‘ADAMS’

16 ADABAS Access - FIND FIND PERSONNEL WITH NAME = ‘ADAMS’
Access Inverted List for value ADAMS. Results in ISN list of 2, 7, 9, 12

17 ADABAS Access - FIND FIND PERSONNEL WITH NAME = ‘ADAMS’
Access Address Converter to obtain RABN.

18 ADABAS Access - FIND FIND PERSONNEL WITH NAME = ‘ADAMS’
Access Data Storage to retrieve record.

19 ADABAS Access - FIND FIND IN PERSONNEL WITH LAST-NAME = ‘ADAMS’ THRU ‘DAVIS’ Access Inverted List for ‘ADAMS’, ‘BAKER’, ‘CHARLES’, ‘DAVENPORT’, and ‘DAVIS’ Form ISN list: 1,2,3,4,5,6,7,8,9,11,12,14,20,21. This merging is additional work not required by READ LOGICAL. Access Address Converter and Data Storage. Records NOT returned in name order!

20 ADABAS Access - FIND Should only be used if no work file I/O is involved (<51 records). Useful for multiple, non-contiguous values of descriptor (NAME = ‘SMITH’ OR = ‘CARROLL’ OR = ‘JONES’). Trade offs between READ logical and FIND.

21 Natural Commands HISTOGRAM Inverted List
Use when only descriptor, sub-descriptor or super descriptor components needed Use for validation of data

22 ADABAS Access - HISTOGRAM
Only has Access to the Inverted Lists. Returns two items: Value of descriptor Number of records which have that value ISNs are NOT returned to Natural even though they’re in the inverted lists. 1. Returns value of ‘F’ and *NUMBER = 234

23 ADABAS Access - HISTOGRAM
Beginning and Ending Values Usually Specified. Efficient way to determine if a particular value exists for a descriptor. Efficient way to determine how many records have a particular value for a descriptor. If all data for requirements is available in Inverted List - Use HISTOGRAM or FIND NUMBER

24 Direct Calls How records are accessed by ADABAS
Direct Call Action Performed L READ by ISN L READ physical L READ logical L9 HISTOGRAM

25 Direct Calls How records are accessed by ADABAS
Direct Call Action Performed L READ by ISN w/ hold L READ physical w/ hold L READ logical w/ hold

26 Direct Calls How records are accessed by ADABAS
Direct Call Action Performed S FIND S FIND w/ hold A1/A4 UPDATE N1/N4 STORE E1/E4 DELETE

27 ADABAS Access - SUMMARY
GET - Reread Record HISTOGRAM - All required data available in Inverted List READ PHYSICAL - More than 20% of file and no updates READ BY ISN - More than 20% of file and updates FIND - Multiple, non-contiguous values of descriptor; Small set of records; sequence not important READ LOGICAL - Most others

28 Natural 4 and Adabas Dynamic change of reading direction within an active READ or HISTOGRAM processing loop. Dynamic repositioning within a READ processing loop. New comparators LESS/GREATER THAN and LESS/GREATER EQUAL for READ and HISTOGRAM statements. Support of Multi-Fetch in FIND, HISTOGRAM and READ statements. New keyword TO that enables end of range condition (ENDING AT) to be controlled by the database itself. Support of the Adabas Transaction Manager.

29 Questions ?


Download ppt "Efficient Adabas Access"

Similar presentations


Ads by Google