Impact of "volatile" Gsheet functions on AppSheet sync

I’ve been having some difficulty with sync on my app and I’d like to check to see if may hypothesis about the cause sounds correct to the AppSheet experts out there.

On my app, I’m doing a good deal of number crunching on what I might call “background sheets” (sheets that I have not brought in to AppSheet as tables). Recently, I’ve been experimenting with using
QUERY() functions that are based on a NOW() value. The combination of the QUERY() and NOW() functions seems to have made my book of Google sheets quite heavy (frequent recalculation). Ben Collins of Google Sheets explains that NOW() is a “volatile” function that, depending on how it is used, can cause a lot of recalculation:

In Google Sheets there are four functions, NOW(), TODAY(), RAND() and RANDBETWEEN(), that are known as volatile functions, which means they recalculate every time there’s a change to the Sheet. https://www.benlcollins.com/spreadsheets/slow-google-sheets/#8

I need to use some NOW() functions to accomplish what I want to do, but I have some ideas about how to limit their impact the efficiency of my sheet. In the meantime, I’d like to pose the following question: Is it true that syncing will take significantly longer if the Google sheet is trying to do lots of recalculations during the syncing process?

Yes that’s true because your app needs to wait before everything is calculated when you sync. Also please remember that updating NOW() in your gSheet, doesn’t show up in your app. The recalculation is happening only on the screen, not in the background.

1 Like