What takes up more space?

Trying to figure out, in terms of overall doc size and performance, what the better option would be in the following scenario:

Scenario: I have a table with six columns that are lookups, each with different selectable items (about 5 selectable items per column)

  • Option 1: Make six different tables with the different select items and have each column pull from the corresponding table.
  • Option 2: Make 1 table with 30 rows (5 items per intended column) and then write a filter() into the lookup options so each column is only pulling the correct 5 items.

Any idea which option is a “less expensive” option that would lead to a smaller doc size and faster performance?

Hoping someone like @Paul_Danyliuk can help me out here!

I don’t think it matters. As far as cell data is concerned, each cell will have a {ref} object with grid ID, row ID, and the row’s display value baked in. All local table IDs are of the same length, all sync table IDs are of the same length as well, but sync table IDs are much longer than local table IDs — that’s why tables with 10,000s of rows looking up from crossdoc tables are much heavier than tables with 10,000s of rows looking up from local tables and that may affect which way you’re going to cross-doc stuff (if at all). Otherwise it’s the same: it’s five local tables or one; it’s five sync tables or one.

So choose what makes the most sense from the data schema standpoint. Are those six columns entirely different concepts (e.g. cities, people, products etc) or a single concept (e.g. team members selected as Mentor, Partner, Reviewer etc?)

3 Likes

Fantastic - Thank you!