Forum Discussion
Materialized View Optimal Refresh - Always Doing Full Refresh
- 9 months ago
Hi EricCarlson ,
what you are seeing is expected. Your materialized view only refreshes incrementally for new rows. When existing rows are updated, Fabric cannot detect those changes with the current setup, so it performs a full refresh.To make updates refresh incrementally, the view must include Delta’s change-tracking metadata. If you don’t want those fields exposed, use a two-step approach: a staging view with change tracking, and a clean view for reporting.This ensures incremental refresh works for both new and updated rows.
Thank you.
Hi EricCarlson ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you shashiPaul1570_ edwinter for the prompt response
Your Materialized View is always doing a FullRefresh because the source Delta table is not a managed Lakehouse table.Optimal Refresh only works when the source table is created inside the Lakehouse Tables folder.Using .save(dest_table_path) creates an external Delta folder, which forces FullRefresh even if CDF is enabled.Recreate the table using saveAsTable("bronze_users") with CDF enabled so Fabric manages it.Ensure CDF was enabled before the first data load.Recreate the MV and refresh it - you should now see Optimal/Incremental refresh.