diff options
Diffstat (limited to 'src/mongo/db/query/planner_analysis.cpp')
-rw-r--r-- | src/mongo/db/query/planner_analysis.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mongo/db/query/planner_analysis.cpp b/src/mongo/db/query/planner_analysis.cpp index eacb67b69c3..cc570708a09 100644 --- a/src/mongo/db/query/planner_analysis.cpp +++ b/src/mongo/db/query/planner_analysis.cpp @@ -625,6 +625,10 @@ bool isEligibleForHashJoin(const SecondaryCollectionInfo& foreignCollInfo) { internalQueryCollectionMaxStorageSizeBytesToChooseHashJoin.load(); } +bool isEligibleForIndexedLoopJoin() { + return feature_flags::gFeatureFlagSBELookupPushdownIndexJoin.isEnabledAndIgnoreFCV(); +} + // static void QueryPlannerAnalysis::determineLookupStrategy( EqLookupNode* eqLookupNode, @@ -667,7 +671,7 @@ void QueryPlannerAnalysis::determineLookupStrategy( return boost::none; }(); - if (foreignIndex) { + if (foreignIndex && isEligibleForIndexedLoopJoin()) { eqLookupNode->lookupStrategy = EqLookupNode::LookupStrategy::kIndexedLoopJoin; eqLookupNode->idxEntry = foreignIndex; } else if (allowDiskUse && isEligibleForHashJoin(foreignCollItr->second)) { |