Performance Issues in pickerFieldRecords

Certified Associate Developer

Hello All , 

we have a database view , using that we created a record ( disable data sync) as Appian record is not allowing view with enable sync option. 

facing performance issues with this Appian record picker, please can someone help with the following questions : 

Question 1 : how can we implement a minimum character requirement for the search input in the record picker (pickerFieldRecords) to reduce the number of database queries ?

Question 2 : how can we limit the initial load to a smaller subset (i.e. only load 20 result based on user filter) of records to prevent performance bottlenecks ?

Question 3 : is there a way to implement Appian caches record data in memory with disabled data sync record  type ?

Thanks!

  Discussion posts and replies are publicly visible

Parents
  • +1
    Certified Lead Developer

    If you truly want to leverage a synced record type, one valid approach is to define a Web Service (Integration) as the data source instead of querying the database view directly. This allows you to take full advantage of the capabilities provided by synced records, such as:

    • Improved performance through Appian’s in-memory caching for synced data.

    • Full support for pickerFieldRecords with optimized search and filtering behavior.

    • Ability to control data synchronization frequency, including on-demand syncs via a related action or process.

    To implement this:

    • Create an Integration object that calls a web service (which returns the view data).

    • Use that Integration as the source of a Synced Record Type.

    • Map and configure fields accordingly for use in your record picker or interfaces.

    This way, you avoid the performance pitfalls of live queries against complex database views and gain the full benefits of Appian’s data sync architecture.

Reply
  • +1
    Certified Lead Developer

    If you truly want to leverage a synced record type, one valid approach is to define a Web Service (Integration) as the data source instead of querying the database view directly. This allows you to take full advantage of the capabilities provided by synced records, such as:

    • Improved performance through Appian’s in-memory caching for synced data.

    • Full support for pickerFieldRecords with optimized search and filtering behavior.

    • Ability to control data synchronization frequency, including on-demand syncs via a related action or process.

    To implement this:

    • Create an Integration object that calls a web service (which returns the view data).

    • Use that Integration as the source of a Synced Record Type.

    • Map and configure fields accordingly for use in your record picker or interfaces.

    This way, you avoid the performance pitfalls of live queries against complex database views and gain the full benefits of Appian’s data sync architecture.

Children