Data Editor vs Sheet Calc

I am wondering if the Glide App data editor is a more performance way to do some operations so as to not big down my app.

For example, to generate a URL based in what is in column A of my sheet, I can:

Break my URL into the dynamic (value from colum A) and static portions (www…com) which never changes. Use a concatenate function to join the static portion (part of the calc) to column A.

Use a Construct URL columns to do the same thing😄

A URL may not be the best example but many calcs or functions can be done both ways. Is one more efficient? Help the app run more smoothly?

I track over 600 stocks in the APP so the Google finance calls are already a bit heavy on the background sheet. I ask the above as I attempted to do some complex calcs and ground the app to a halt. I thought maybe moving what I can unit the Data Editor would help, but it seemed like it was just a front end and adding columns to my sheet anyways? Am I missing something?

Depends on what you consider “bogging down”. Waiting for data to update on the sheet is going to delay the experience by a few seconds or more just to get those updates back to the app, however, there is zero calculation that the glide app has to do. On the other hand, computed glide columns are actually computed on each user’s device, so some results will be instantaneous. If you have a ridiculous amount of computed columns, that could cause some bogging down of the app to initially load a screen or tab, but once the initial load is over, it’s usually pretty quick. It might be worth some experimenting. I personally try to put as much as I can within glide, although with almost 6000 rows in my app, some sheets with heavier computation and several large relations does cause some slow loading. I could move some of it back to the sheet, but then I’m back to having frequent lag that occurs with every update to the sheet and waiting to get calculated results back to the glide servers so they can be pushed to the device.

It can all vary depending on your situation, but generally I like to put as much as I can within glide, because it seems to provide a faster experience overall.


It’s always better to do the calculation in Glide, when you can do it in either Glide or your Sheet.


Maybe a dumb question but… If I build out a process in a Glide Table to store form submissions, but in that submission process, I use an “Add row” action to add a row to a GSheet, does that newly added row count towards any row limits IF it’s not used anywhere else in the app (i.e. it’s only used to write values, not read them). I’m looking for a way to improve the performance of an app, but still need my results to end up in a GSheet for internal/organizational processes to happen. I could do a data export, but if I can simply make a GSheet “copy” using Add Row without causing a performance impact or eating up rows, it would be a more dynamic/automatic process.

1 Like

So what if I have a column in Sheets that is an IF Then ELSE statement that drives a user to one of 2 URLs based on a calculation. Example:

IF A2 < 0 then URL1 else URL2. How would that then be done in Glide?

Also with the URL generator, does it work with URLS where the parameter is mid stream, such as:{type:‘sparkline’,data:{datasets:[{backgroundColor:‘rgba(0,128,0,0.2)’,borderColor:‘green’,data:[A2]}]}}

where A2 is the parameter?

This is an interesting view. If you don’t use those Sheet rows anywhere else then the count won’t increase, but if you want to edit those rows then I think you would have to let the app read it.


That’s my thinking too. Ideally, those rows would not be touched by the app after they’re submitted. Hopefully that means they’re “ignored”.

1 Like

@kyleheney you’re correct
I use this to let my client download only this Sheet in my spreadsheet, and the others sheets are hidden, shared my GS to only see so he can download it, and I don’t use in glide

1 Like

That would just be an If/Then column. It would return the first value that is true.

I haven’t used the Construct URL column yet, but I believe it builds out query parameters (&A=…, &B=…, &C=…, etc.). For your quickchart example, the A2 is part of a JSON string that’s contained within the ‘C’ query parameter. You would probably first need a template column with a replacement to replace A2, then insert the template as one of the query parameters in the url.

1 Like

This is absolutely correct. (I know from experience) :slightly_smiling_face:

1 Like