Should I store data inside the User or not?

Here is something that I’m really in doubt.
I have 2 options:

  1. store 2000~ itens inside my user and keep another database limited to my number of active users.
  2. not storing inside the user, and every time retrieve those 2000 itens inside a database that will grow infinitely (every user that ever passes will create 2000 itens ±, so let’s say +millions entries)

What do you think is the best option? Nowadays I only have to count those itens every time a user enters my app, but I’m afraid that storing these 2000 itens inside the user will cause some lags.

Do you have any opinion? Do you have any solution? Have you ever come across something like this?

@nocodeventure 's option is to store it only in database, because searches in bubble are supposed to be very fast

Having the list inside the User’s table is much faster but it can negatively effect your app’s performance. You should not store that big of a list inside a User’s table.

One of my accounting crm template was using a list of invoices inside the User’s table, somehow it kept crashing the app and it was taking approx 10 seconds to load a page.

The issue was created by us deliberately, attaching 4000 invoices on a Users table. For your best sake, I would never take this approach unless the list is smallar than 100 items and the list itself doesn’t have too many columns.

A list of 50 records, with the list having more than 20 columns can also negatively effect speed.

p.s Not to brag, but if you look at any of our templates, you’ll notice a very fast loading time, on each of them, following our basic principle, not attaching lists inside of data types, unless the list is small :slight_smile:

1 Like

Hey @ri_scc_94,

I have an idea over this.

  1. instead of creating new data, create an option set “status” and add displays “active” & “inactive”.
  2. create a data field in user database “user status” with field type “status”(the option set)
  3. now you just need to get which user is active or not?
  4. set workflow if the user is active the “user status” = “active” and vs
    or say toggle the status.
    that’s it.

hope this logic will help you.

Another use case to not store the list inside the Users table is in cases where you need to create a filter on the list. Doing an advanced filter on a list bigger than 50 records can also crash the search.

1 Like

By the way, do you know if the Privacy settings influence the speed on the search? Because if it does, one user won’t have access to another’s database

I’ve ran through many @josh posts to try to understand, he does say about making the data search as small as possible,
but I couldn’t find anything about the impact on storing big data inside the user

If only the user needs to see this data then creating a privacy setting would allow you to have no-filter searches that load fast and only show that user’s data and nobody else’s.

1 Like