docs/querying/query-processing.md
This topic provides a high-level overview of how Apache Druid distributes and processes queries.
The general flow is as follows:
Druid uses time and attribute pruning to minimize the data it must scan for each query.
For filters that are more precise than what the Broker uses for pruning, the indexing structures inside each segment allow Historical services to identify matching rows before accessing the data. Once the Historical service knows which rows match a particular query, it only accesses the requires rows and columns.
To maximize query performance, Druid uses the following techniques:
See the following topic for more information: