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

Add query plan history and logging

    XMLWordPrintableJSON

Details

    • Fully Compatible

    Description

      Things exit the cache for:
      1. safety reasons (index add/drop)
      2. no more space in cache
      3. performance degrades
      4. writes (changes data distribution)
      5. explicit commands to mutate cache

      Let's log when this happens w/level...1.

      The query optimizer currently generates a query plan which is cached and re-used based on the normalized "shape" of the query predicate and sort criteria.

      It would be useful to be able to identify plans by id (e.g., hash value) for tracking, hinting and logging.

      1. Tracking
        Store the history when the query plan is changed and what it was changed to in the db's system.plans collection.
      2. Diagnostics
        Log every time the plan changes for a given query, e.g., <query_id>: changed <old_plan_id> to <new_plan_id>

      Attachments

        Activity

          People

            benety.goh@mongodb.com Benety Goh
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: