
The writeHeavy default is quietly hurting Direct Lake performance in a lot of Gold workspaces
Ran into the same issue in three separate Fabric engagements over the last few months, so writing it up in case it saves someone time.
All newly created Fabric workspaces default to the writeHeavy Spark resource profile. This is correct for Bronze and ingestion workloads.
The problem: writeHeavy disables V-Order by default, and a lot of teams never change the profile on their Gold workspace.
What that costs you, per Microsoft Learn's cross-workload optimization guide:
- Direct Lake cold-cache queries: 40 to 60 percent slower without V-Order.
- SQL analytics endpoint and Warehouse: roughly 10 percent slower reads.
- Spark: no read impact either way.
The fix is one line of config per environment. Set spark.fabric.resourceProfile to readHeavyForPBI on Gold workspaces, readHeavyForSpark on Silver if it's read-heavy, leave writeHeavy on Bronze.
A few other things that surprised me while digging into this:
- Optimize Write, Auto Compact, and Low Shuffle Merge are all enabled by default in Fabric's Spark runtime. A lot of "optimization advice" on the internet is telling you to re-enable things that are already on.
- Liquid Clustering is the recommended approach for new tables, but
ALTER TABLE ... CLUSTER BYon an existing unpartitioned table requires Delta Lake 3.3. Fabric Runtime 1.3 is on Delta 3.2. So you can create new clustered tables today, but retrofitting existing tables requires a migration. - Runtime 2.0 (Spark 4.0, Delta 4.0) is Experimental Public Preview. Delta 4.0 features like type widening and variant type only work in Spark notebooks. If the table is read by Direct Lake, SQL endpoint, or Warehouse, those features break interoperability. Microsoft's own guidance is to stay on Runtime 1.3 for production.
I wrote up the full decision framework (five levers, per-layer profile mapping, Runtime 2.0 caveats) here if it's useful.
Curious what others have seen. Has anyone actually measured the V-Order difference on a real Direct Lake model, or is the 40 to 60 percent number holding up in practice?