Users Settings to Improve Sync

Hi, I'm trying to improve sync performance and was wondering if using User Settings would help?

For example, if a user only needs to see orders from last year or orders from a specific location. 

If that was put in place would it reduce the amount of data being synced on the app overall? 

Or when you load the results matching the criteria does appsheet load all the app data anyway?

 

 

0 3 134
3 REPLIES 3

Yes Usersettings will help as the data gets filtered in AppSheet server before sending it to your device. You can even create a functionality where the Usersettings filter is valid only for one day. In that way the user doesn't need to remove that filter.

Hi, returning to this topic as I've since been testing it out to see if there are any sync performance improvements that can be made to our apps as users are reporting it to be slow. 

So I setup a couple of user settings to filter the number of row in the Orders Table. The record below breaks down the results in the performance profile when filtering the rows out, the first line is the time taken to sync the entire orders table. (2568 rows - this is a copy of live app data we have so it is a realistic sample size of data we are dealing with). 

Sarah_Keown_0-1647358283680.png

You can see that filtering down to 491 rows/2568 rows actually appears to take longer to sync? 

I have included the total sync time of all tables, then the order table sync time, rows read and virtual column sync of the orders table. 

These are only a coupl of filters being applied but I think its strange not to notice a vast difference in the performance when you reduce the data down significantly. 

Is this kind of function not going to improve performance or is it the case where you would need to be filtering out ALL table data e.g. Orders TBL, Accounts TBL, Order Details etc..

Ive included the performance profile screenshots as well hopefully they can be seen

Virtual columns are usually the culprit to long Sync times.  Look at removing VC's or restructuring your app to reduce VC processing time as your primary task in getting the Sync time down.

If you haven't noticed, the time to read the tables is a small fraction of the Sync time.  In your case that looks to be about 5 seconds out of the Total 1 minute and 10 secs +.

The difference between reading 2600 rows and 500 rows is really not that significant of an impact to the Sync time.

Top Labels in this Space