Hi there,
Could someone point me to a thread on (or respond to) the below topic?
I am in the process of creating one of my first apps, and I am trying to make conscious performance choices NOW. For simple expressions/formulae that can all be calculated using the three methods (below), all other things being equal, which should I use?
USE CASE
I am retrieving a stock price (say Apple) in Google Sheets, because the expression is not supported by AppSheet. Once I have the price (in Sheets), I want to calculate the value of my shares by multiplying the share price with the number of units. I'd like to understand the rank order of most efficient to least efficient solution:
CONSIDERATIONS
I am trying to understand which is more beneficial for performance, assuming my app will grow to tens (potentially hundreds) of thousands of rows of data:
I'd welcome some thoughts/feedback from the community. Thanks!
Solved! Go to Solution.
Hi @Fraxinus
Depending on the amount of data, virtual columns should be preferred. More generally, you will need to consider Google Sheets as a static database. Even more if you plan to have hundreds of thousand rows of data, even Google Sheets will starting being overloaded.
Then, you can:
- use security filters for unnecessary data on devices
- use physical columns when that would make sense, for example for calculations that need to be performed very rarely.
I suggest you read this documentation:
App performance: Core concepts - AppSheet Help
Improve the speed of Sync with database updates - AppSheet Help
Hi @Fraxinus
Depending on the amount of data, virtual columns should be preferred. More generally, you will need to consider Google Sheets as a static database. Even more if you plan to have hundreds of thousand rows of data, even Google Sheets will starting being overloaded.
Then, you can:
- use security filters for unnecessary data on devices
- use physical columns when that would make sense, for example for calculations that need to be performed very rarely.
I suggest you read this documentation:
App performance: Core concepts - AppSheet Help
Improve the speed of Sync with database updates - AppSheet Help
That's super helpful - thank-you!!
Just to play back what I read in those articles, the ranked order of most efficient operations is:
The reasons (and please sense check me - I am paraphrasing to see if I understand everything) are:
I say the above with the understanding that bloated computation and data transfer are are to be avoided with best practices, like slices and security filters.
Can I get a head nod/shake if I got that right/wrong?
Hi @Fraxinus
I would add: if you can, prefer avoiding any AppSheet calculation on physical columns, as they are calculated on edition only, not on the fly.
Virtual columns are calculated on the fly.
I would say too:
- AppSheet virtual columns give the most accurate result, but may require a good engine on the device ๐
This means, if a price should evolve ==> virtual columns computation will stay true, while real columns computation will turn wrong, or more exactly: not up to date.
And you are correct, least data transferred locally if you prefer AppSheet's virtual column computation over "Google Sheets computation".
Not sure I answered to all of your questions, but there are additional insights though ๐
In the end, it's a compromise between: data that need to be up to date, amount of data transferred, and computation capabilities.
Sure seems like you helped me out! I am walking away with a MUCH more clear understanding of how to prioritize which type of method to use. I welcome others to opine if there is more to add, and if they agree, just like the solution! ๐
@Aurelien - Thank-you so much!!
User | Count |
---|---|
35 | |
30 | |
30 | |
20 | |
18 |