-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The CE cache uses MatchExpression hashes as keys, so adding index bounds to the cache involves converting them to a match expression, which can be very expensive for long queries.
Determine a threshold number of intervals at which building the MatchExpression to hash as a cache key is more expensive than the CE computation itself. Prevent CE caching from occurring in these instances.
This was discovered in relation to the long running CE for large $in queries and is necessary to bring samplingCE performance for those cases in line with existing MP performance.
- is depended on by
-
SERVER-124377 Remove limit on $in list length forcing fallback to multiplanning
-
- Closed
-
- is related to
-
SERVER-108776 Improve sampling CE performance in the presence of large $in lists
-
- Closed
-
-
SERVER-108958 Improve sampling CE performance in the presence of large $in lists: Index bounds checks
-
- Closed
-
- related to
-
SERVER-124542 Investigate CE cache performance degradation for large MatchExpressions
-
- Needs Scheduling
-
-
SERVER-124880 Add synthetic benchmarks for queries with huge number of index intervals
-
- Needs Scheduling
-