Performance improvements
- Last Updated: February 17, 2026
- 2 minute read
- OpenEdge
- Version 12.8
- Version 12.2
- Documentation
OpenEdge 12.2 delivers new performance enhancements, which are described in this topic.
Expansion of server-side join processing includes non-FORWARD-ONLY dynamic queries with NO-LOCK
Server-side join improves performance by reducing the amount of data transferred across the network and by reducing the computational cost on the client. Server-side join is available in a multi-threaded database server, and is enabled for queries where the tables to be joined are in the same logical database and there are 10 or fewer tables. In addition, server-side join only occurs when using the following ABL constructs:
FORstatements withNO-LOCK.- Dynamic queries with
NO-LOCK, except for those that use theINDEXED-REPOSITIONoption or involve an outer join.
For more information about server-side join, see Server-side join processing in OpenEdge Programming Interfaces.
Reusable objects cache now includes objects containing datasets and events
When an object-oriented ABL object is destroyed (whether explicitly
deleted or through garbage collection), it is generally placed in the reusable
objects cache. Reusing objects from this cache saves the overhead of instantiating a
new class. Before this release, classes containing a dataset or event definition
(DEFINE DATASET or DEFINE EVENT) were disqualified from use in the cache. Now, with this
release, these objects are included in the cache. As a result, users may see a
improved performance.
For more information about the reusable objects cache, see Re-usable Objects Cache (-reusableObjects) in Startup Command and Parameter Reference.
Enhanced performance of ABL profiler
Starting with this release, the ABL virtual machine (AVM) conducts in-time analysis and no longer writes the timing data in a temporary file. This results in performance gains because it bypasses the input-output operations on the disk. It also results in optimized disk utilization, especially with long running applications and queries, because temporary files can be lengthy.
New ABL Profiler content
- Identify ABL performance problems with profiler in OpenEdge Videos
- PROFILER system handle in ABL Reference
- -profile startup parameter in Startup Command and Parameter Reference
Enhanced ABL session management in PAS for OpenEdge
PAS for OpenEdge has enhanced the multi-session agent so that it self-manages ABL sessions. This means that requests no longer fail due to resource unavailability.For more information, see Enhanced ABL session management in Manage PAS for OpenEdge.
Enhanced INDEX function to allow search of a string stored in a
MEMPTR variable
The INDEX function returns an INTEGER value that indicates the position of the searchString within the source string. The source string now includes a
MEMPTR expression along with CHARACTER and LONGCHAR
variables.For more information, see INDEX function in ABL Reference.