Hi,
What is considered to be a good performance/loading time for Apex page with an Interactive Grid (editable)?
I'm working on IG with ~ 40 visible columns, only 14 of those are editable and all 14 are Switch columns. Query returns 42 more columns which are hidden and are referenced only in JavaScript.
IG query is very simple and it executes in database under second. Yes - I have enabled SQL tracing for my Apex page, I have run tkprof on trace file and statistics for IG query are these:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.01 0.01 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 52 0.08 0.08 0 347 0 51
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 54 0.10 0.10 0 347 0 51
But when the page loads, actual load time for page is about 2.8 seconds.
When I look at Debug for the page, I see that most of the time is spent on:
-
Perform an Equal join (there are 14 line pairs "Parse LOV query ..." and "...Perform an equal join..." - one for each Switch column. First ones are very fast, last one is 0.75 seconds in this case;
-
SQL Statement prepared 0.297 seconds;
-
Rewrite SQL takes 0.63 seconds;
-
SQL Statement prepared one more time and it takes 0.9 seconds;

I tested that very simple page with IG based on EMP table and 14 records loads in 0.11 seconds in my dev environment.
If I replace Switch column type with Text or display only for my IG, I can improve load time to 1.6 seconds but I do think it is very slow, given that SQL query in the database runs in fraction of that time.
I'm trying to understand if this is expected behavior or I can do anything to improve the load time for my page?
I'm running Apex 18.1 on Oracle Database Express Edition 18c ...