Kbase 21094: Index Brackets Explained
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/12/2004 |
|
Status: Verified
GOAL:
Index Brackets and how Progress uses them to retrieve records explained.
GOAL:
What is an Index Bracket?
GOAL:
How does Progress uses Index Bracket to retrieve records?
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
FIX:
An "index bracket" is a set of consecutive entries in an index. A bracket is defined by an index identifier (index number), a low-key value, and a high-key value. All the index entries starting with low-key value and ending with high-key value are included in the bracket. A "bracket scan" is an operation which examines index entries from the low-key value to high-key value.
There are two types of brackets: equality brackets and range brackets. Equality brackets define a set of consecutive index entries that have an equality match on a key. The low-key value and high-key values are the same for an equality match. Range brackets define a set of consecutive index entries from the low-key value to high-key value.
Except when you are using a FIND BY ROWID, Progress always uses at least one index bracket to retrieve one or more rows.
If you specify the -v6q startup parameter, Progress might have to scan all the records in the index to find those meeting the conditions, or Progress might have to examine only a subset of the records. This latter case is called 'bracketing the index' and results in more efficient access. Having selected an index as previously described, Progress examines each component as follows to see if the index can be bracketed:
a) If the component has an active equality match, Progress can bracket it, and it examines the next component for possible bracketing.
b) If the component has an active range match, Progress can bracket it, but it does not examine the remaining components for possible bracketing.
c) If the component does not have an active equality match or an active range match, Progress does not examine the remaining components for bracketing.