Wide Tables (lots of columns), computed columns, tables shared between apps - an idea for speed?

Before I do something crazy (and delete things)…

Computed columns, likely wherever they are in your app, are going to take time to compute, and therefore slow things down

  • lesson - try to avoid them, or be more elegant in how to work things out

When you share a data source (GS or Glide Tables), you get the basic data, but you need to add on the computed columns, even if it means duplication in two or more apps

When you have an app for one purpose (the user app), you do not need compute things in the Agent sheet … unless you are doing things that are needed in the User app itself.

Therefore if I have a sheet (User) which has normally a bunch of single values (such as language strings) BUT I am in the Agent version of that app… which means they do not care about this info…

— then, logically, I can safely delete these columns? And get a speed improvement?

Right? Or am I missing something? Thanks!

2 Likes

The danger of just deleting things is that:

  1. you cannot undo
  2. if you delete, and the column is used somewhere, those computed columns and components will have blank values and therefore screw up (and you cannot overcome this by making a new column with the same name)

I don’t have apps that share the same tables, so I’m not experienced in this, but it’s my understanding that computed columns are unique to a single app, even if a table is shared among multiple apps. So as I understand it, if a computed column is being used in the first app, but not used in the second app, it’s my understanding that you can safely delete the column in the second app. But again, I’ve never tried this.

Might be worth creating a test app with a few basic and computed columns, duplicate it while keeping the same data source, then delete a computed column in the duplicated app and see if it affects the original app at all. My guess is that you should be fine. It’s when you delete basic columns that might start to cause some trouble.

3 Likes

Maybe I’m confused here, but in my experience computed columns are NOT shared across multiple apps that use the same sheet (Google or Glide). Pretty much all of our solutions have an “end user” app and an “admin” app. They both require different computed columns for different scenarios. None are shared. Are you actually seeing computed columns created in one app appearing for another?

1 Like
  1. Computed columns are NOT shared across apps
  2. You might end up with computed columns that are named the same and function the same (for your app logic)
  3. You might even have taken a copy of your app at some point, with all the computer columns, and all the sheets… where you no longer need these columns (or even the sheet)

My approach is now to go through the app (user and agent) and remove things that are unused but are hold overs from copies made at a point in time. Or logics that made sense once, but no longer.

Using this approach I could probably get rid of about 300-400 columns across my app in key sheets.

I wanted to check in this community first… especially given that there is no undo function in the Data Editor :slight_smile:

1 Like