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.