<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1" -->

---
title: How ClickHouse makes Top-N queries faster with...
description: ClickHouse optimizes Top-N queries (ORDER BY ... LIMIT N) using granule-level data skipping with minmax indexes. By comparing min/max metadata against the...
canonical: https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How ClickHouse makes Top-N queries faster with granule-level data skipping | daily.dev
og:description: ClickHouse optimizes Top-N queries (ORDER BY ... LIMIT N) using granule-level data skipping with minmax indexes. By comparing min/max metadata against the...
og:url: https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1
og:image: https://api.daily.dev/og/posts/eBmUQp8e1.png
og:image:alt: How ClickHouse makes Top-N queries faster with granule-level data skipping
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How ClickHouse makes Top-N queries faster with granule-level data skipping

**[ClickHouse](https://daily.dev/sources/clickhouse)** · 10 min read · 0 upvotes · 0 comments

## Summary

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 smallest/largest values. Dynamic filtering applies to queries with WHERE clauses, continuously tightening the threshold during execution. Benchmarks show 5-10× speedups and 10-100× reduction in data read, with production validation on 50 billion row tables completing in under 0.2 seconds.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://clickhouse.com/blog/clickhouse-top-n-queries-granule-level-data-skipping>

## Similar posts on daily.dev

- [Index-based pruning in ClickHouse](https://daily.dev/posts/index-based-pruning-in-clickhouse-dgwhcajgi) · ClickHouse · 0 upvotes · 0 comments
- [ClickHouse Hypothetical Indexes](https://daily.dev/posts/clickhouse-hypothetical-indexes-pnv4tv1hj) · BigData Boutique blog · 1 upvotes · 0 comments
- [Top 10 best practices tips for ClickHouse](https://daily.dev/posts/top-10-best-practices-tips-for-clickhouse-a5ciehuus) · ClickHouse · 1 upvotes · 0 comments

---

Tags: [#database](https://daily.dev/tags/database), [#data-structures](https://daily.dev/tags/data-structures), [#clickhouse](https://daily.dev/tags/clickhouse)

[View this post on daily.dev](https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How ClickHouse makes Top-N queries faster with granule-level data skipping","url":"https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1"},"datePublished":"2026-01-19T10:42:48.014Z","dateModified":"2026-01-19T10:43:10.409Z","description":"ClickHouse optimizes Top-N queries (ORDER BY ... LIMIT N) using granule-level data skipping with minmax indexes. By comparing min/max metadata against the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1868b2ba5745248e7b79565aeb69eb2f?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/1868b2ba5745248e7b79565aeb69eb2f?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"ClickHouse","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ClickHouse","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/clickhouse","url":"https://daily.dev/sources/clickhouse"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-clickhouse-makes-top-n-queries-faster-with-granule-level-data-skipping-ebmuqp8e1","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"database,data-structures,clickhouse","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ClickHouse","item":"https://daily.dev/sources/clickhouse"},{"@type":"ListItem","position":3,"name":"How ClickHouse makes Top-N queries faster with granule-level data skipping"}]}
```

