Kbase 17132: How Field Lists Can Improve Remote Client Performance
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/10/1998 |
|
How Field Lists Can Improve Remote Client Performance
When Progress gets a request from a client for a record, we typically
retrieve all the fields for that record regardless of whether or not
they are needed. Obviously this can be inefficient, and the hit on
performance can be significant, especially over a network. We have
introduced a "new" option in all version 8 clients as well as version
7.3C and higher servers. The option is called a Field List, and here
is the methodology behind them.
A Field List is defined as a subset of fields that define a record and
includes those fields that the client actually requires from the
database server. This is essentially a preselected and presorted
"fetch" from the database server. Instead of retrieving all the fields
we just specify beforehand the ones we are actually interested in.
Here is an example:
DEFINE QUERY custq FOR customer FIELDS (name cust-num balance).
OPEN QUERY custq PRESELECT EACH customer. /REPEAT: (prelisted fields)
GET NEXT custq.
IF AVAILABLE(customer)
THEN DISPLAY name cust-num balance.
ELSE LEAVE.
END.
Here we are querying the customer table but we are just taking the
fields we are interested in as defined in the first line after FIELDS.
These are the primary cases where field lists can provide significant
performance benefits:
1. Browsing over a network
Reduction in network traffic can increase performance dramatically
from both remote Progress and Dataserver databases depending on
record size and number of fields in the list.
2. Fetching from local dataservers
Retrieving only a portion of the record can improve dataserver
performance as well.
Overall this performance gain allows the network to handle more
clients when retrieving field lists instead of entire records. Other
points of reference for Dataserver field lists are the Progress
Dataserver Guides. For actual examples of 4GL coded field lists
see the Programming Handbook P.8-33 through 8-38.
Netstat is a useful tool for monitoring network traffic, and it can
also clearly show the overall performance gains in network traffic
when using field lists for retrieving record fields.
Progress Software Technical Support Note # 17132