[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Client-server connectivity to OE databases from ABL

Status
Not open for further replies.
D

dbeavon

Guest
There was one surprising "client-server" issue I had a significant struggle with. It turned out that a FOR EACH query - even a simple one using a single table - doesn't always get fully resolved on the server side. If you have multiple conditions in a WHERE clause, apparently only some of them will be resolved on the server. The degree to which the server resolves the WHERE clause is based on the index that is used. If the fields are in the index, then the conditions are resolved on the server. Afterwards the matching records are all sent over the network to the client where the remaining (non-indexed) part of the WHERE clause is evaluated. This can generate a ton of network activity for records that are basically going to be discarded. Does anyone have a reference to where this unfortunate "client/server" behavior is documented? It was one of the most unexpected behaviors that I experienced when using "client-server" ABL for the first time. And it causes a pretty severe loss in performance unless a ton of extraneous indexes are added.

Continue reading...
 
Status
Not open for further replies.
Top