@Sansao_Negao @RezaRaoofi Good discussion.
I’ll add a little from my experience with large apps.
I’ve got a client that’s a tele-health company, and they’ve got an app that’s full of complexity and automation - and bloated with data.
My original design was to use de-refs to facilitate easy data pull, but it had an unexpected side-effect: creating a reference from one table to another creates a REF_ROWS() that cannot be deleted.
(The best you can do is change the formula you “List(”").
But after removing the references, and using lookups instead, I was able to reduce the sync time.
This is due to the fact that when you sync your app, all the REF_ROWS() are calculated - and if you’ve got 50k records thats a lot of sorting.
And if the references are just there for easy data pulling, NOT an actual entity-entity relational reference, these extra VCs are complete unnecessary and only add to the sync time.
LOOKUP() I’ve found processes extremely fast.
While a de-ref is really (I mean REALLY) helpful with simplifying your workload as an AppSheet dev, when you get a data bloated app it can be more of a hindrance than a help.
Unless the connection between two tables is an actual relational connection, I wouldn’t use a reference .
If your app is going to get large and contain a bunch of references, you could be looking at a longer loading time is all I’m saying.