Fixed
Details
Assignee
Heng Sin LowHeng Sin LowReporter
Heng Sin LowHeng Sin LowComponents
Fix versions
Priority
Major
Details
Details
Assignee
Heng Sin Low
Heng Sin LowReporter
Heng Sin Low
Heng Sin LowComponents
Fix versions
Priority
Created August 20, 2021 at 5:46 AM
Updated November 1, 2021 at 8:19 PM
Resolved September 14, 2021 at 12:32 PM
Comments from :
The problem I can see is that we have a performance issue when using the indirect context, for example:
Setting @SalesRep_ID.Title@=Manager in ReadOnlyLogic of the Payment Schedule made this query:
SELECT Title FROM AD_User WHERE AD_User_ID = ?
to execute 32 times on every field change
When I did the same test in DisplayLogic it worked better, it was called just like 3 times.
Indeed, I think we have this problem with some actual fields in the database, like "Window, Tab & Field>Field>Included Tab" the DisplayLogic says:
@AD_Column_ID.AD_Reference_ID@=200127|@AD_Column_ID.AD_Reference_ID@=200128|@AD_Reference_ID@=200127|@AD_Reference_ID@=200128
so, this query
SELECT AD_Reference_ID FROM AD_Column WHERE AD_Column_ID = ?
is executed 14 times when saving a record
maybe is a minor stuff on dictionary, but on heavy usage windows that could make the performance bad.
Not sure about this, but I think we have (had?) a mechanism somewhere to cache those query values when executed the same query during a short time, but don't remember where that was implemented.