apache / apache/pinot

Redundant filter predicates not fully optimized

Open
#7,700 0 comments 0 reactions 1 assignee Claimed by @atris View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

If we have a filter predicate repeated multiple times, Pinot may evaluate the predicate multiple times in certain cases. And if scanning is required for evaluating the predicate, it can have performance impact. For example:

```where ((a=1 and b=2) or (a=1 and c=2) or (a=1 and d=2))```

This could be re-written as:
```where ((a=1) and (b=2 or c = 2 or d = 2))```

The latter would evaluate the predicate `a=1` just once, where as the former would do it three times.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.