# How many is too many columns?

**URL:** https://community.glideapps.com/t/how-many-is-too-many-columns/65624
**Category:** Ask for Help
**Created:** [August 31, 2023, 1:36am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624 "2023-08-31T01:36:54Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Chassy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/chassy/32/61204_2.png) [@Chassy](https://community.glideapps.com/u/Chassy)
#### Post date: [August 31, 2023, 1:36am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624/1 "2023-08-31T01:36:54Z")

</div>

I’m in the midst of my first app and am finding myself adding more and more calculated columns in my users table. At what point should I start being concerned? Right now, I’m at around:

- 50 columns total
- 15 actual data columns from Google Sheets
- 5 relations
- 20 lookups
- The rest a combo of templates, if-then-else, etc.

A thing that seems weird is all of the lookups. I’m basically bringing in all of the columns from the related table. This seems inefficient as far as process goes, and I feel like there should be a more direct way to access this info than to add a lot of lookup columns. Then again, this also seems like the more manual version of what’s happening in a SQL join.

Thanks!

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [August 31, 2023, 1:50am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624/2 "2023-08-31T01:50:10Z")

</div>

I think I have one app with 200+ columns and it’s working fine. 50 is not a lot.

> [@Chassy](#):
>
> A thing that seems weird is all of the lookups. I’m basically bringing in all of the columns from the related table.

Can you explain why you need to do those lookups?

---

<div class="post-metadata">

### Author: ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)
#### Post date: [August 31, 2023, 1:58am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624/3 "2023-08-31T01:58:28Z")

</div>

> [@Chassy](#):
>
> This seems inefficient as far as process goes, and I feel like there should be a more direct way to access this info than to add a lot of lookup columns.

Please add your vote below:

> [@Select values from relations just like "User \>" (Inline Lookups)](https://community.glideapps.com/t/select-values-from-relations-just-like-user-inline-lookups/26092):
>
> Just like we can choose a value from a user profile sheet during if/then/else columns, template columns, filtering/visibility conditions, etc, would love to be able to do the same via relations. It would cut down on SO MUCH app bloat. @david @mark @tristan Here’s a mockup:

As @ThinhDinh mentioned, 50 computed columns is generally nothing to worry about. It just depends on what they are doing and how many rows they are operating on. But things like relations/lookups/templates should be no problem at all.

---

<div class="post-metadata">

### Author: ![Chassy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/chassy/32/61204_2.png) [@Chassy](https://community.glideapps.com/u/Chassy)
#### Post date: [August 31, 2023, 2:19am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624/4 "2023-08-31T02:19:13Z")

</div>

AWESOME!!! I figured there’s a reason for a search box whne I’m selecting a column.

This is an agenda app for a two-day event. Each user has a selected lunch group each day, and a selected activity each day. Lunch groups and activities have 5ish columns of info, which are what I’m pulling into the user’s row with lookups. This is letting me do things like generate custom messaging and blocks of info using a lot of template and if-then-else columns. So for example, a sentence that says “You’ve chosen X as your Wednesday activity and Y as your Thursday activity.”

---

<div class="post-metadata">

### Author: ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)
#### Post date: [August 31, 2023, 2:57am UTC](https://community.glideapps.com/t/how-many-is-too-many-columns/65624/5 "2023-08-31T02:57:30Z")

</div>

Not sure if it can work better for you, but I would advise:

- Creating a JSON object on the original table that store the info, including all the info you need for the lookup.

- Use only one lookup on the destination table to bring the JSON over.

- At that point, there are 2 choices for you, one is to deconstruct the JSON using the query JSON column (won’t reduce the numbers of columns if you want to deconstruct them all), or use JavaScript and dynamically access the variables inside the JSON to construct the message using the JavaScript column directly.
