Jason Williams (Progress Software) asked a question.
Server-Side Join Processing with OpenEdge 12.0
The attached video provides an introduction and a demo to the Server-Side Joins functionality available with OpenEdge 12.0.
Sample Program
etime(yes).
output to report.txt.
for each customer no-lock,
each order no-lock
where order.custnum = customer.custnum,
each orderline no-lock
where orderline.ordernum = order.ordernum:
put customer.custnum format ">>>>>9" customer.name skip.
end.
output close.
display etime.
Notes
- Server-Side Joins is enabled by default.
- Join is resolved on the server-side and the performance is improved by reducing the number of records sent over the network.
- The USE-INDEX option can be used to ensure that the desired index is used to resolve the joins.
Resources
- PUG Challenge
- OpenEdge 12.0 Database Performance and Server Side Joins http://pugchallenge.org/downloads2018/Banville_Performance.pdf
- Documentation: