SOA DB Adapter Performance Degradation when Operating on Non-Indexed Tables
(Doc ID 1448150.1)
Last updated on APRIL 23, 2019
Applies to:Oracle SOA Suite - Version 184.108.40.206.0 and later
Information in this document applies to any platform.
One of the new features of 220.127.116.11 SOA release is the potential to use coherence cache for frequently used data.
In this case the following architecture is used:
db adapter -> eclipse link -> coherence cache -> eclipse link -> database
Using coherence cache can result in significant improvement of the performance of the database queries.
However, some of this performance benefit can be lost when performing operations on non-indexed tables.
From the DBAdapter MasterDetail test case, observed when cacheUsage is set to read-write and if outbound table has no PK index on the joint column,
coherence will perform really poor during write-behind.
For example, in case of the demo employee table coherence will run the following query
(SELECT :1 EMPNO FROM DUAL) t1 ON (t0.EMPNO = t1.EMPNO)
THEN UPDATE SET t0.ENAME = :2 , t0.JOB = :3 , t0.MGR =
:4 , t0.HIREDATE = :5 , t0.SAL = :6 , t0.COMM = :7 , t0.DEPTNO = :8
WHEN NOT MATCHED
THEN INSERT (t0.EMPNO, t0.ENAME, t0.JOB, t0.MGR, t0.HIREDATE, t0.SAL,
t0.COMM, t0.DEPTNO) VALUES (:9 , :10 , :11 , :12 , :13 , :14 , :15 , :16 )
when updating the underlying database table.
The results of the tests done by Oracle SOA development using Exalogic have shown that if there is no index on the EMPNO column of the emp table - there might be a performance degradation of more then a factor of 20.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document