I have a table FactUsers. with fields for Date, CompanyID, GrossCash and 20 other fields. and a measure named TotalGrossCash which is the sum of all the grosscash.
this table is partitioned by year-month (202401, etc) based on the Date field
- i have row level security set up on CompanyID.
- i have a dimdate table. this is linked to FactUsers based on Date field
- I have a dimcompany table
- i have a role - this has an RLS filter on dimcompany
- Import mode (not directquery)
Q - when a user belonging to companyID 1 queries the table for April 2024 data, what exactly happens behind the scene?
- does the engine have to look at the entire table to first filter for records belonging to companyID 1 (the RLS section) or does it immediately start looking at the Apr 2024 partition and then filter based on the RLS filter (companyid = 1)? Basically, is it capable of taking advantage of partitions by quickly going to the single partition even though RLS needs to be applied?