Doing a quick set of performance tests to just confirm a few things I have experienced with ADF. (I will update this post with new info after each test). All tests done on an XE db
Test 1) Read Only VO vs Updatable vs AM query vs SQL based VO - Scrollable 1000 batches of 1000
+- 300000 results
Read only vo query results: 203,31,47,31,31,47
AM Query timing 31,31,15,15,31,31
SQL timing:78,15,16,0,15,16
VO timing:11653,11919,9812,9485,9781,9734
So definitely a case for not using updateable VO's everywhere.
Test 2) Read Only VO vs Updatable vs SQL based VO - Range Paging 1000 batches of 1000
+- 300000 results
Read only vo query results: 125,47,63,32
SQL timing: 62,32,32,31
VO timing:125, 94, 47, 32
Test 3) Read Only VO vs Updatable vs SQL based VO - Range Paging FIRST_ROWS 1000 batches of 1000
+- 300000 results
Read only vo query results: 172,94,63,31
SQL timing: 78,62,15,15
VO timing:125, 78, 47, 47
NOTE: These are small localized tests to show some performance considerations and one size does not fit all.
Test 1) Read Only VO vs Updatable vs AM query vs SQL based VO - Scrollable 1000 batches of 1000
+- 300000 results
Read only vo query results: 203,31,47,31,31,47
AM Query timing 31,31,15,15,31,31
SQL timing:78,15,16,0,15,16
VO timing:11653,11919,9812,9485,9781,9734
So definitely a case for not using updateable VO's everywhere.
Test 2) Read Only VO vs Updatable vs SQL based VO - Range Paging 1000 batches of 1000
+- 300000 results
Read only vo query results: 125,47,63,32
SQL timing: 62,32,32,31
VO timing:125, 94, 47, 32
Test 3) Read Only VO vs Updatable vs SQL based VO - Range Paging FIRST_ROWS 1000 batches of 1000
+- 300000 results
Read only vo query results: 172,94,63,31
SQL timing: 78,62,15,15
VO timing:125, 78, 47, 47
NOTE: These are small localized tests to show some performance considerations and one size does not fit all.
A point to consider though is that an updateable VO based on EO will cache the results in the EO cache - so subsequent queries on the same set of data might result in faster performance. In addition the EO cache can be shared among several VOs. You should be checking this too before making a call.
ReplyDeleteYup thanks for the input, it is more an example of variance of changing a few tuning parameters as it stands. Will be expanding this with more results and scenarios as I go along.
ReplyDelete