Improving performance by getting rid of unnecessary virtual columns

Hey guys,
I am trying to tweek out some performance by working through the details in the performance profile. I do not use many of the virtual columns created by appsheet automatically but if I delete them they are regenerated on save. Some of them take up a second or so performance time. Is there a way to disable them?
Another question, is there a way to quickly identify the virtual columns that are not used in your app?
Thanks
Hyman

Solved Solved
3 29 4,826
1 ACCEPTED SOLUTION

Hi @Hyman_van_Zyl it is very unlikely that the auto-generated virtual columns are where your sync time is going. However, you may think so when you look at the performance profiler, but that is a flaw in how the data is being presented. Let me explain. Letโ€™s say your app has 10 tables. Our server will only fetch a few of them in parallel (the exact number depends on your subscription and the current load, but letโ€™s say that number is 3). So off it goes to fetch tables 1, 2, and 3 in parallel. When any of them is fetched and ready, that thread goes off to fetch 4, and so on.
But now hereโ€™s the tricky part โ€ฆ what happens with virtual columns? The virtual columns for table 1 are computed right after table 1 is fetched. But letโ€™s say one of them requires table 8. So that has to be fetched too. In the performance logs, this will count towards the compute time for the virtual column. But in reality, table 8 had to be fetched anyway at some point during the sync. In fact, youโ€™ll see this recorded if you drill down into the virtual column computation in the profiler.
The virtual columns that take a long time to run are those that involve inefficient multi-level SELECT formulas. The โ€œreverse referenceโ€ formulas are usually really fast โ€” they just need one pass through the data. And we do this in our server during sync so that we donโ€™t have to do them on the devices (slower and more of a battery drain on a device)

View solution in original post

29 REPLIES 29
Top Labels in this Space