Clusters similar values into shared files, via OPTIMIZE ... ZORDER BY (col) on Delta Lake, so selective filters skip more data. Works alongside V-Order.
Read more: Microsoft Learn
In the Ultra Transcenders books
Each book explains Z-Order in context, with comparison tables and the common traps.
Terms in this definition
- VALUES
Returns in DAX the distinct column values, or table rows, still visible after filters are applied, sometimes with an extra blank entry. CALCULATE often takes the result as a table filter.
- OPTIMIZE
Bin-packs small files into larger ones, or reclusters liquid-clustered tables, when you run this SQL command; for Unity Catalog managed tables, predictive optimization takes care of it automatically.
- Z-ordering
Older technique:
OPTIMIZE ... ZORDER BY (cols)clusters related values into the same files so more data can be skipped. Incompatible with liquid clustering, which is preferred for new tables. - Delta Lake
Table format adding transactions to files in the data lake. In Synapse, Spark pools can write these tables, while serverless SQL pools can only query them.
- V-Order
An optimisation Fabric applies to Parquet files as they are written, covering sorting, row-group layout, encoding and compression, so reads (above all Direct Lake) are quicker at some cost to writes. New workspaces have it switched off, and
OPTIMIZE ... VORDERapplies it to files already written.
Related terms
- Fast optimize
With spark.microsoft.delta.optimize.fast.enabled switched on, Fabric Spark's OPTIMIZE skips compacting small-file groups unlikely to hit the target size, so fewer files are rewritten. The setting has no bearing on Z-Order or liquid clustering.