Forum Discussion
Bad performance RLS for non-admin users: what can be done?
Hi dpollozhani
Yeah for sure it is the RLS which is causing the slow performance.
This is because the RLS has to filter across all the tables, which have multiple joins and evaluations which is then causing the DAX to take so long.
When there is no RLS those filters are not applied and that is why it is quicker.
As mentioned before I would suggest changing your model to a star schema with a single fact able and dimension tables all having a one to many relationship to the fact table.
GilbertQ It's perplexing to me that the RLS filter should be applied by the engine continously. I expected that the filter were applied once either during reload of the dataset or on opening (like is the case with QlikView/Qlik Sense, and perhaps other tools?) - and when the relevant set for a certain user has been established, there should be no need to reapply RLS filters.
Regarding your comment on the model: it is clear from my images that I only have a single fact table, and that all tables linking to it have a 1:M relationship. The only exceptions are the two snowflakes connecting to the calendar and item table respectively. I also just showed that crossfilter direction doesn't affect RLS performance significantly.