Our page has over 20 LOV (inputComboboxListOfValues ) . The page load time is Ok . ( Filled data ~3 seconds ) . But , User not happy with the LOV selections . Each Lov selection takes more than 1 second. ( ~1200ms - 1800 ms)
User mainly nevigates the LOVs through keyboaad tab . i,e, Pressing tab after entering data ( Code or key ) which returns single row and do the same for the next LOV .
Just to highlight , The Lov display ( e.g 999-USA) is the combination of Key and value, We fetch the mapped display value using View Accessor link and getter of RowImpl.
We want improve the performance here . Observed the below in Jdev Oracle Diagnostic Log Analyzer Log Message tab -
Observed query getting executed multiple times . For example ,
1. <ViewObjectImpl> <buildQuery> [5982] CountryVO_587_findByKey_>#q computed SQLStmtBufLen: 632, actual=614, storing=644
<ViewObjectImpl> <buildQuery> [5983] SELECT * FROM (SELECT B2.C_TBCODE AS cuntrycode, ....ORDER BY 3) QRSLT WHERE (CUNTRYCODE = :fbkKy__0)
2. <ViewObjectImpl> <buildQuery> [6045] ParentVO_Country_ParentToCountryLink_CountryVO>#q old SQLStmtBufLen: 643, actual=613, storing=643
<ViewObjectImpl> <buildQuery> [6046] SELECT /*+ FIRST_ROWS_10 */ * FROM (SELECT B2.C_TBCODE AS cuntrycode, ORDER BY 3) QRSLT WHERE CUNTRYCODE = :Bind_National
3.<ViewObjectImpl> <buildQuery> [19528] parentXXXVO_QUnit_QUnitLink_QUnitVO>#q old SQLStmtBufLen: 668, actual=638, storing=668
<ViewObjectImpl> <buildQuery> [19529] SELECT * FROM (SELECT B2.INTERNE as qCode,..
...
Note :- Even Some other LOV Query also got executed , not sure why . Seems parents VO data model updates fires child VO also ?
Also observed , several log entry like ( More than 20 for differnet LOV )
<ADFLogger> <begin> Get LOV list
<DCUtil> <findSpelObject> [28046] DCUtil, returning:oracle.jbo.uicli.binding.JUApplication, for XxxDataControl
<ADFLogger> <addContextData> Get LOV list
<ADFLogger> <end> Get LOV list
Finally , in the end there are several entries like below -
<DCIteratorBinding> <releaseDataInternal> [31079] Releasing iterator binding:aaaVO1Iterator
<DCIteratorBinding> <releaseDataInternal> [31079] Releasing iterator binding:bbbVO1Iterator
<DCIteratorBinding> <releaseDataInternal> [30933] Releasing iterator binding:_lovSearch_CountryLOV__Iter
<DCIteratorBinding> <releaseDataInternal> [30934] Releasing iterator binding:_lovSearch_CountryLOV__Iter
.....
.....
Can you suggest how to improve performance ?
1. We are using Jdev 11.1.2.1.0
2. LOV VO has Key defined
Thanks,
Amitava