Build execution plan without transform operator to optimize simple select queries
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
This issue is follow up of Issue(#6972): Implement PassThroughTransformOperator to optimize select queries.
If the user runs simple SELECT queries without involving any transformations, Pinot can help execute them faster by building a better query plan since Pinot has the information available during query compilation. Even though the query didn't have transforms, Pinot engine was still applying unnecessary NO-OP transformation. Improved query planning that skips the transformation phase from query execution plan leads to better performance for such queries.
This issue will build execution plan without transform operator, hence, for non transform queries, we will remove TransformOperator all together from query plan and execution. The root operator should be project operator
Contributor guide
Research direction
Start by tracing Pinot's query compilation and execution-plan construction, using Issue #6972 and its PassThroughTransformOperator work as context. Done means non-transform SELECT queries produce plans without a TransformOperator and use a project operator as the root; the payload names no files or tests to run.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100