When I tried to get data using a query filter for a custom picker and when I tried using record picker, I could find a significant performance difference. Record Picker was very fast when compared to a custom picker. How does record picker work and can we do the same for a custom picker also? And I would also like to know how record type actually holds the data, is it like a cached memory or it fetches every time? Can someone help me understand this?
Discussion posts and replies are publicly visible
https://docs.appian.com/suite/help/22.2/records-data-sync.html
This should give you a good start.
Can you post the code for your slow custom picker?
What Appian does is cache your data in the record type in memory or RAM. You control when the cache is updated, and they're improving it all the time. Since you only have to pull it from memory, it's faster than trying to pull the same information from the DB.
The whole goal was for synched records to be a lot faster. It's possible that you can get exactly what you need from record picker provided you have all the relationships and custom fields and logical expressions set up correctly.
So if we are having many recordtype does that affects the system? From my understanding, RAM or cached memory will have less memory when compared to DB. So if we have many record type or one recordtype having many rows(eg:more than 1 lakh rows), does this have an impact on performance? And I do have one other question, If we have a 2 tables which together has more than 100 columns, what is the best practice to create a record type? Dave Lewis
I used the same code from Appian documentation