The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredCompete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.
I wanted to share some insights, assuming we move forward with the incremental refresh for the current month:
Without incremental refresh, the entire dataset (2 crore records) can take up to 50 minutes to refresh.
With query folding and incremental refresh (focusing on 20 lakh records for the current month), the refresh time is significantly reduced to 5–8 minutes.
Given that we are considering implementing incremental refresh without query folding for the current month, could you please let me know approximately how much time the refresh will take under these conditions?
Solved! Go to Solution.
Correct - query folding is not an absolute requirement if you only want to make sure your partitions stay under the 10GB limit. It is required to avoid running the query over the entire dataset and then filtering for the partitions.
If your scenario does not allow query folding then the process will do exactly that - load all data and then throw away all the rows that don't match the partition boundaries.
If query folding is allowed then the query itself is already limited to the partition boundaries and will thus (likely) be faster.
Since we are using a stored procedure, query folding is not possible in our scenario.
Not so fast. Use Value.NativeQuery and set the EnableFolding attribute.
What was the time-consuming step?
50 minutes
@lbendlin why it takes 50 min i am applying incremental refresh right ? I am just asking i dont have idea .
https://community.fabric.microsoft.com/t5/Power-Query/Incremental-Refresh-with-PostgreSQL-Is-query-f... in this post you said
Query folding is not an absolute requirement for incremental refresh.
Correct - query folding is not an absolute requirement if you only want to make sure your partitions stay under the 10GB limit. It is required to avoid running the query over the entire dataset and then filtering for the partitions.
If your scenario does not allow query folding then the process will do exactly that - load all data and then throw away all the rows that don't match the partition boundaries.
If query folding is allowed then the query itself is already limited to the partition boundaries and will thus (likely) be faster.
Thank you for the clarification. Since we are using a stored procedure, query folding is not possible in our scenario. Therefore, as you mentioned, the process will load the entire dataset and then filter it to match the partition boundaries, which will likely result in longer refresh times.
If you have any further suggestions on how to optimize this process or if there are alternative approaches we can consider, I would appreciate your insights.
Since we are using a stored procedure, query folding is not possible in our scenario.
Not so fast. Use Value.NativeQuery and set the EnableFolding attribute.