Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi Power BI Community,
I've recently implemented incremental refresh in three Power BI reports that use MySQL as the backend data source.
Report Design & Setup:
Incremental Refresh Testing Results (Power BI Service):
After publishing and running the initial refresh, subsequent incremental refreshes showed the following improvements compared to full refresh times:
Some Context:
My Question:
Given these results, particularly for Report 1 where I saw a significant (50%) improvement in refresh time:
Is it a reasonable assumption that for Report 1, query folding is likely happening correctly, and the incremental refresh filter (based on RangeStart and RangeEnd) is being successfully folded into the native SQL query executed by MySQL?
And for the other reports (Report 2 and Report 3) with much lower improvements, could this indicate that query folding for the incremental date range is perhaps not occurring, or only partially occurring, leading to Power BI potentially pulling more data than necessary before filtering?
I'm trying to understand if the refresh time improvement alone can be a strong indicator of successful query folding for the incremental refresh mechanism in this MySQL scenario.
Any insights or experiences with MySQL incremental refresh and query folding would be greatly appreciated!
Thanks!
Solved! Go to Solution.
Hi @ankurarora1418,
Thank you for reaching out to Microsoft Fabric Community Forum.
@Akash_Varuna @pankajnamekar25 Thank you for your quick responses.
@ankurarora1418 Thanks for the detailed explanation, you're on the right track!
The insights shared by @Akash_Varuna @pankajnamekar25 are valid and on point. Just to add to their answers:
Yes, the significant refresh time improvement for Report 1 likely means that query folding is working, and the RangeStart/RangeEnd filters are being pushed down to MySQL.
For Reports 2 and 3, the smaller improvements suggest that query folding might not be happening, or only partially, which causes Power BI to pull more data than necessary before filtering.
While refresh time is a good indicator, but it’s not a guarantee. To confirm folding, you’d need to:
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it! |
Regards,
B Manikanteswara Reddy
Hi @ankurarora1418 ,
Thank you for reaching out to Microsoft Fabric Community Forum.
@Akash_Varuna @pankajnamekar25 Thank you for your quick response.
We wanted to kindly follow up to check if the solution provided for the issue worked? or Let us know if you need any further assistance?
If our response addressed, please mark it as Accept as solution and click Yes if you found it helpful.
|
Please don't forget to give a "Kudos |
Regards,
B Manikanteswara Reddy
Hi @ankurarora1418 ,
As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided for the issue worked? or Let us know if you need any further assistance?
If our response addressed, please mark it as Accept as solution and click Yes if you found it helpful
|
Please don't forget to give a "Kudos |
Regards,
B Manikanteswara Reddy
Hi @ankurarora1418 ,
Thank you for reaching out to Microsoft Fabric Community Forum.
As we haven’t heard back from you, we will go ahead and close this ticket for now.
If you need any further assistance, please don’t hesitate to raise a new ticket, we’re always happy to help.
Our sincere apologies if there was any inconvenience caused.
Regards,
B Manikanteswara Reddy
Hi @ankurarora1418,
Thank you for reaching out to Microsoft Fabric Community Forum.
@Akash_Varuna @pankajnamekar25 Thank you for your quick responses.
@ankurarora1418 Thanks for the detailed explanation, you're on the right track!
The insights shared by @Akash_Varuna @pankajnamekar25 are valid and on point. Just to add to their answers:
Yes, the significant refresh time improvement for Report 1 likely means that query folding is working, and the RangeStart/RangeEnd filters are being pushed down to MySQL.
For Reports 2 and 3, the smaller improvements suggest that query folding might not be happening, or only partially, which causes Power BI to pull more data than necessary before filtering.
While refresh time is a good indicator, but it’s not a guarantee. To confirm folding, you’d need to:
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it! |
Regards,
B Manikanteswara Reddy
Hi @ankurarora1418 For Report 1, the 50% refresh improvement suggests query folding is likely working, applying RangeStart and RangeEnd filters. Lower gains in Reports 2 and 3 hint at partial or no folding, causing excess data processing. Without logs, improvements suggest folding but aren’t conclusive. Simplify queries to boost performance.
Hello @ankurarora1418
refere this article and video
Power BI Incremental Refresh: The Ultimate Guide 2023
Thanks,
Pankaj Namekar | LinkedIn
If this solution helps, please accept it and give a kudos (Like), it would be greatly appreciated.
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!