Do not push $lookup to SBE if there is an eligible partial index

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Partial indexes only include entries for documents that satisfy a specified filter expression. Documents that do not satisfy this expression are skipped by the index.

      SBE engine cannot utilise partial indexes during a $lookup operation. This is because SBE cannot find documents when they are not present in the index. Classic engine avoids this issue by re-planning the lookup for each value of the localfield. Consequently, customers switching to SBE may experience a performance regression with $lookup queries that previously used partial indexes under the Classic engine. To address this, we should prevent pushing down a $lookup if the Classic engine would have been able to leverage a partial index. 

            Assignee:
            Foteini Alvanaki
            Reporter:
            Foteini Alvanaki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: