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

KeyString Version of Index Scan Optimization

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Storage Execution
    • 1

    Description

      During the investigation of a performance regression BF-29842, I find that the classic engine uses WriedTigerIndexCursorBase::curr  which consumes 0.5% CPU, but the new SBE engine uses WriedTigerIndexCursorBase::getKeyStringEntry  which consumes 5.75% CPU. 

      The profiler shows a large amount of CPU on memory allocation in KeyString copy, but not for curr(). The curr() version avoids returning full BSON object in some cases, we should do some optimization on the keyString version.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            zixuan.zhuang@mongodb.com Zixuan Zhuang
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated: