Consultor Eletrônico



Kbase P89827: Why is find first slow in DataServer applications?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   19/09/2008
Status: Verified

GOAL:

Why is find first slow in DataServer applications?

GOAL:

Why should I avoid find in DataServer applications?

FACT(s) (Environment):

DataServers
All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x
DataServers

FIX:

Generally speaking, in DataServer application, you should always avoid find statement. Our DataServer developer used to say "find is evil". This is because
find statement is a progress database specific feature, there is no support for such in foreign data sources. In order to mimic progress behavior, we have to
design find to cach records/keys in advance, then walk through the cache. Once you do a find , the DataServer needs to hold on to the cursor since there is no
way to predict if there will be a FIND NEXT on the same index. If a program does a FIND FIRST, the DataServer also has to keep the cursor opened since there
might be a FIND NEXT (on the same index) afterwards. The same is also true for FIND LAST -- the DataServer keeps the cursor in case there is a FIND PREV.

This is why find performs slow in DataServer applications.