It’s normal to expect that privacy roles would have some impact on performance.
For that reason, it’s good to examine a) how much data you’re trying to initially load and b) if your privacy roles are overly complex.
For example, if you have a repeating group that is based on a “Do a search for X” that doesn’t have much constraints and is loading a full list, that may slow things down considerably. So, good to ensure you have well constrained searches (and not overly reliant on filtering).
Think of your privacy roles like a request going through a series of pipes - some are more direct routes than others. Bubble is going to evaluate all of your privacy roles to see if there is a “match” that grants access to the requested data. (So, the is current user admin = yes role is going to evaluate faster. But your other roles may take more time to evaluate.
In some cases, it may be better to work with pre-defined lists. (Ex. for a property rental site, save a list of properties owned by the current user on the Current User. That way, you can enforce a privacy role that is “Current user’s properties contains this property”).
Some initial thoughts. I’m sure others will chime in.
Dan (creator of LearnTo - 15+ hours of Bubble tutorials and live coaching)