Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-79403

Avoid implementing stacks of EvaluationNode as stacks of SBE project operators

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Query Optimization
    • Fully Compatible
    • QO 2023-09-04, QO 2023-09-18, QO 2023-10-02, QO 2023-10-16, QO 2023-10-30, QO 2023-11-13, QO 2023-11-27, QO 2023-12-11

      Currently in Bonsai each projection is implemented as a separate EvaluationNode. We have an existing optimisation which tries to convert each projection into a SargableNode, and push it down into collection/index scan. However, if the projections contains residual expressions, we may end up with a physical plan containing a stack of EvaluationNodes, which eventually will be lowered into a stack of SBE project operators. We will need to investigate performance overhead of having a stack of projections in an SBE plan and try to optimize it by merging the EvalNodes into a single evaluation node (a new type of an ABT node) with combined projections.

            Assignee:
            milena.ivanova@mongodb.com Milena Ivanova
            Reporter:
            anton.korshunov@mongodb.com Anton Korshunov
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: