BigQuery Peformance

I’ve had a small AppSheet app for the last couple years that uses bigquery as its data source. BigQuery is definitiely overkill for the amount of data but since it’s not a lot of data I’m almost always within the free tier and many of biqqueries other features make it appealling.

However….over the last month I’ve noticed more and more odd issues and generally poor performance with my app. I’m having trouble tracking down what exactly is causing it as nothing has been changed recently in the app. I’m often getting duplicate request errors which seems to be the most problematic it’s not something that needs to be super fast but having cancel pending changes and try again is a problem,

The app has a decent number of tables several of which are related to eachother (e.g. account > transaction Header > transactions) so I know that’s lagging things a bit. I know BigQuery isn’t inherently great with update/delete actions so I’m wondering if it’s just a non optimal setup to use BigQuery as a database.

Looking for some thoughts or ideas.

Personally, having used many database tools in the past, I believe BigQuery to be an excellent tool for usage with AppSheet.

I have been using BigQuery in a large set of apps for over 2 years. Based on what you have described, I don’t think BigQuery is the issue.

We see the Duplicate Request messages daily and just ignore them. We have found that in most cases, the users are not even seeing these messages. AND we were seeing them BEFORE we transitioned to BigQuery while the apps were still using Google Sheets. I don’t think these messages are related to the usage of BigQuery.

I have never been able to nail down the cause of the Duplicate Request messages. The common thought is that it is caused by users tapping the Sync button multiple times.

BigQuery is not a relational database so it has no concept of relationships between tables. Those will be maintained strictly in AppSheet - which is done for ANY data source anyway.

As for any APP performance concerns, the number one cause is usage of Virtual Columns. I strongly encourage you to use the Performance Profile provided within the app. If you are not familiar with where to find it, see the image below. This is your best tool to identify performance blocks and try to remove them.

The EASIEST way to increase performance for the users is to filter OUT, using Security Filters, any data they do not need loaded onto their devices. For example, if there are two years worth of data but the users only work within the last week of records, then only load the last week to 10 days worth.

Please review the Performance Profile and then come back to the Community with any questions you have on how to resolve performance concerns.

I hope this helps!

Thanks for this info! That’s interesting about the duplicate errors you saw with sheets as well and probably is a good indicator that changing DB tech wouldn’t really resolve that issue.