Module 9: Array processing and Table handling
Comparison between SEARCH and SEARCH ALL
SEARCH (Serial/Linear Search) | SEARCH ALL (Binary Search) |
---|---|
It does sequential search | It does binary search |
Array must have INDEX | Array must have INDEX |
Not mandatory for array to be in sorted order | Array should be in sorted order of searching parameter. It can be sorted using ASCENDING/DESCENDING option of OCCURS clause |
Multiple WHEN conditions can be specified | Only one WHEN condition can be coded |
Condition can’t be compound condition (i.e. you cannot concatenate multiple conditions using AND/OR) | Only ‘EQUAL TO’ comparison is possible. Compound condition is allowed |
Index should be set to 1 before SEARCH statement | Index need not be set to 1 |
Preferred when:
|
Preferred when:-
|
Linear search is slower than binary search | Faster than serial search |
Time take to search element keeps increasing as the number of elements increased when searching through linear process | Binary search compresses the searching period by dividing the whole array into half |