-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
As part of SERVER-56430 a number of potential optimizations came up that could be implemented if the API for the TemporaryRecordStore was improved. These are things that are for the most part already doable in the storage engine, just not exposed or easy to access.
- We could boost performance of the SpillableCache if we read ranges of documents from the TemporaryRecordStore at once instead of one at a time using a readOnce cursor.
- We could skip the cache and write straight to disk if the bulk load WT API was exposed and we were concerned about evicting other, more important data from the WT cache
- Deleting is expensive in WT. Right now only 'cappedTruncateAfter' is implemented, but if there was a 'cappedTruncateBefore' or equivalent we could use that instead of deleting documents individually.
- depends on
-
SERVER-56430 Implement spill to disk in the window function partition iterator
- Closed
-
SERVER-56610 Allow for setting readOnce on a cursor rather than taking value from the RecoveryUnit
- Closed
-
SERVER-56613 Expose WT bulk load API for RecordStore/TemporaryRecord store
- Closed
-
SERVER-56615 Implement truncateBefore on RecordStore/TemporaryRecordStore
- Closed