ClickHouse optimizes Top-N queries (ORDER BY ... LIMIT N) using granule-level data skipping with minmax indexes. By comparing min/max metadata against the current Top-N threshold, it can skip entire granules before reading any data. Static filtering works for queries without predicates by preselecting granules with the
Table of contents
Optimizing common query patterns #How ClickHouse already optimizes Top-N queries #The missing piece: skipping data before it is ever read #Static Top-N filtering (no predicates) #Dynamic Top-N threshold filtering (with predicates) #Production-scale validation #Turning Top-N into a metadata problem #Sort: