Skip to content

Redundant filter predicates not fully optimized #7700

@mayankshriv

Description

@mayankshriv

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions