When fetching records with a FOR EACH statement or query, the AVM typically retrieves all the fields of a record, whether or not your application needs them. This can have a costly impact on performance, especially when browsing records over a network.
ABL automatically optimizes preselected and presorted fetches from remote OpenEdge databases using field lists. A field list is a subset of the fields that define a record and includes those fields that the client actually requires from the database server. For preselected and presorted fetches, ABL can deduce this field list at compile time from the code.
You can also specify field lists explicitly for many types of AVM record fetches, including:
Queries
FOR statements
DOPRESELECT statements
REPEATPRESELECT statements
SQLSELECT statements
This section explains how to use field lists in ABL. For information on specifying field lists in SQL SELECT statements, see OpenEdge Data Management: SQL Development.