-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Querying
-
None
-
Query Optimization
-
v8.0
-
QO 2024-03-18, QO 2024-04-01, QO 2024-04-15, QO 2024-04-29, QO 2024-05-13, QO 2024-05-27, QO 2024-06-10, QO 2024-06-24, QO 2024-07-08, QO 2024-07-22, QO 2024-08-05, QO 2024-08-19
SERVER-75506 cached single solution plans in the classic engine when inside a $lookup, and saw up to a 9% improvement in TPCH benchmarks with no confirmed regressions. We should consider caching all single solution plans to get this perf improvement.
Originally we did not cache single solution plans in classic to save space in the cache, and because planning was "fast enough". However the cache may be faster in most cases so we should look into this.
SBE plans are always cached, and from what I've seen through $planCacheStats, they tend to take more space as well (compared to classic SolutionCacheData). So in terms of space it seems okay to cache classic plans always (of course this should be tested, and I also understand that the capacity limits are different for classic and SBE caches).
- is duplicated by
-
SERVER-58317 $planCacheStats can incorrectly filter out cached plans when hidden indexes exist
- Closed
-
SERVER-85595 [Classic] Cache single solution plans
- Closed
- is related to
-
SERVER-89480 Classic plan cache key encoding of $_internalBucketGeoWithin is missing geometry details
- Closed
- related to
-
SERVER-64315 Re-enable caching of single solution plans
- Closed
-
SERVER-91095 Make cases where plan cache stores neither works nor reads more explicit
- Backlog
-
SERVER-90880 Cache single solution plans in classic cache for queries using SBE
- Needs Scheduling