Performance testing has suggested that hash-based index intersection, implemented by the AND_HASH query execution stage, does not offer a significant performance advantage for test workloads. This is due in part to SERVER-12923, which describes how query optimization can suffer for plans that are not fully pipelined.
Based on the results of this testing, we should disable hash-based intersection by default. It will be possible to re-enable AND_HASH at run time via:
db.adminCommand({setParameter: 1, internalQueryPlannerEnableHashIntersection: 1});
Sort-based intersection will be on by default and will not be affected by this change.
- is related to
-
SERVER-14961 Plan ranker favors intersection plans if predicate generates empty range index scan
- Closed
-
SERVER-15985 plan change in 2.6.5 causes query to run slower than in 2.6.4
- Closed