Accuracy improvements for index-based CE (without row counts)

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Query Optimization
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      This is a list of ideas, each of which has a performance/accuracy trade off. We'll only pursue ideas that will provide more info about the feasibility of index-based CE, based on our initial findings from the perf/accuracy testing. We will re-run the perf/accuracy benchmarks to validate the below changes.

       

      This ticket involves investigating the accuracy results from SERVER-103612 and then implementing one or more of the following:

      • Return "exact" cardinality rather than selectivity when two traversals end on the same leaf page (or even neighboring leaf pages?).  In this case, we can avoid making assumptions about the distribution of keys throughout the tree and get a more accurate count for small ranges.
      • Look into the insert list on leaf pages to account for recent writes
      • Investigate edge case correctness for start/stop keys that are immediately next to each other or represent an empty range
      • Investigate edge case correctness for the number of children of an internal page and the number of keys in a leaf. We saw some off-by-one errors here which we need to revisit/confirm. Does each internal page have an extra slot for a child page, perhaps to anticipate future page splits?

            Assignee:
            Unassigned
            Reporter:
            Hana Pearlman
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: