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

[CQF] Allow estimates for individual multikey entries in PartialSchemaRequirements map

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Query Optimization

      Currently the estimates are held in PartialSchemaKeyCE which is a regular map.

      For examples if we have 3 entries with the following paths: Get "a" Traverse Id, Get "a" Traverse Id, Get "b" Traverse Id, we will create only two entries in the PartialSchemaKeyCE structure: Get "a" Traverse Id and Get "b" Traverse Id.

      As such during estimation we average the individual estimates on the same path and encode them as a single entry. While in practice there is currently no reason to expect a significant plan difference as a result, in principle we would like to encode, the separate estimates (in the example for Get "a" Traverse Id). To achieve this we would need to change the representation of the interval structures.

       

      One possible way is to transition PartialSchemaKeyCE to map<size_t, CEType> the key being the "index" of the key in the multimap.

            Assignee:
            backlog-query-optimization [DO NOT USE] Backlog - Query Optimization
            Reporter:
            svilen.mihaylov@mongodb.com Svilen Mihaylov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: