lance-format / lance-format/lance
Add fast "max count" method
@steFaiz is already working on this.
Since Nov 19, 2025.
- Dominant language
- Rust
- Stars
- 7.1k
- Forks
- 852
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 272
Description
A count_rows query (with a filter) will currently be fastest when all columns in the filter are indexed with exact-answer indexes. However, if there is any portion of the filter either not covered by an index or covered by a partiial-match index, then we have to do a bunch of I/O to answer the query.
Some users are creating filters like expr1 AND expr2 AND expr3 AND ... AND exprN. Some of these expressions have an index and some do not. As a result the query can take a while. The user would like a "max count rows" variation where we simply use the criteria that matches the indexes and discard the other criteria, quickly returning an estimate of the maximum number of matches.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.