call(back)

What Is a Micro-Partition?

What is a micro-partition in Snowflake, and how does it make queries faster?

Answer out loud in under a minute: a definition, one concrete example, and one pitfall or trade-off.

Hints

Hint 1

Think about what a query with a date predicate needs to know about each file to skip it.

Solution

Show the approach

The short version

Tables are stored as micro-partitions: 50 MB to 500 MB of uncompressed data each, created automatically as data arrives, with columns stored independently inside. Every partition carries metadata per column — value ranges, distinct counts — so a query scans only the columns it references and prunes any partition whose range cannot match its predicate. Partitions are immutable; an update or delete writes new ones.

Example

WHERE order_date = '2026-03-01' over a year of data: the engine reads the metadata, finds the handful of partitions whose date range covers that day, and never opens the rest.

Pitfall

Pruning works only when a column's values are localised: data that arrives in random order leaves every partition covering the whole range. Clustering depth measures that overlap, and a clustering key reduces it — at the cost of background rewrites, since partitions are immutable.

Asked at