<!-- llms-explorer concept facts · https://llms-explorer.com/tree/sbe-vs-classic-engine-defaults/ · pack 2026-10-15 · ~2318 tokens -->

# SBE vs classic engine defaults

> Depth-first rabbithole dossier for SBE vs classic engine defaults; source-anchored research pack.

Parent: [MongoDB 8.0 performance changes & read-path regressions vs 7.0](https://llms-explorer.com/tree/mongodb-8-0-performance-changes-read-path-regressions-vs-7-0/) · 3 facets · 20 facts · page: https://llms-explorer.com/tree/sbe-vs-classic-engine-defaults/

## How it works

- [low] Starting in MongoDB 9.0, when explain runs in at least executionStats verbosity mode, aggregation stages that use the classic engine output an expressionEvaluationPeakMemoryBytes field (peak memory from expression evaluation during stage execution). (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/explain-results.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`

## Problems, failure modes and limitations

- [low] Slow operation log messages include a queryFramework field where "sbe" indicates the slot-based engine and "classic" indicates the classic engine executed the query. Sources: https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`

## Facts and statements

- [medium] The "trySbeRestricted" setting of internalQueryFrameworkControl was introduced by SERVER-83470 (fixed in 7.0.5, 7.2.1 and 7.3.0-rc0), not newly in 8.0. In the 8.0 IDL it is the default. It allows pushdown to SBE of certain stages ($group, $lookup, $_internalUnpackBucket, search) and falls back to the classic engine if none of them is present. (verified as of 2026-10-15) Sources: https://jira.mongodb.org/browse/SERVER-83470, https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_knobs.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] MongoDB uses the classic engine for queries that are ineligible for the slot-based query execution engine. Sources: https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The featureFlagClassicRuntimePlanningForSbe parameter in MongoDB 8.0 enables use of the classic engine's MultiPlanStage and SubplanStage for plan selection for SBE queries. (verified as of 2026-10-15) Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_feature_flags.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] To bypass SBE bugs in MongoDB 7.0, administrators can set the internalQueryFrameworkControl parameter to "forceClassicEngine" to force the use of the classic query engine. Sources: https://www.mydbops.com/blog/mongodb-plancache-memory-issue-sbe-fix — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#troubleshooting`
- [low] In MongoDB 8.0, the slot-based execution engine (SBE) is enabled by default, whereas in version 7.0.17 and later patch versions, SBE is no longer enabled by default. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The internalQueryFrameworkControl parameter in MongoDB 8.0 supports values including "forceClassicEngine" to force the classic engine, "tryBonsai" to attempt the Bonsai optimizer, and "forceBonsai" to force the Bonsai optimizer. Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_knobs.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [high] Starting in MongoDB 8.0, users can use query settings to specify an engine for queries, a capability not available in versions earlier than 8.0 where the engine was automatically selected. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/release-notes/8.0.md, https://www.mongodb.com/docs/v8.0/reference/sbe.md, https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] MongoDB returns execution statistics for search and vector search queries that use the classic engine only. Sources: https://www.mongodb.com/docs/manual/reference/explain-results.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] MongoDB automatically disables the slot-based execution engine on collections with an index having a hashed path prefix of a non-hashed path where both paths are in the index. Sources: https://www.mongodb.com/docs/v8.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [medium] MongoDB determines eligibility for the slot-based execution engine on a per-query basis, considering support for each operator and expression present in the query. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/v8.0/reference/sbe.md, https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] Common pipelines that use the slot-based execution engine include aggregations with $group or $lookup stages. Sources: https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] Explain results for queries executed using the slot-based execution engine include the explain.queryPlanner.winningPlan.slotBasedPlan field. Sources: https://www.mongodb.com/docs/v7.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [high] Starting in MongoDB 8.0, queries using block processing on time series collections show block_to_row and ts_bucket_to_cellblock in the stages output. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/reference/explain-results.md, https://www.mongodb.com/docs/v8.0/reference/sbe.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The featureFlagSbeFull parameter in MongoDB 8.0 is a feature flag for SBE behaviors, features, or extensions that are not yet enabled by default, with a default value of false. (verified as of 2026-10-15) Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_feature_flags.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The featureFlagTimeSeriesInSbe parameter in MongoDB 8.0 enables queries against time-series collections to execute in SBE, with a default value of true. (verified as of 2026-10-15) Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_feature_flags.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The featureFlagSbeBlockHashAgg parameter in MongoDB 8.0 enables Block Hash Aggregation for TS queries in SBE, with a default value of true. (verified as of 2026-10-15) Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_feature_flags.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The featureFlagSearchInSbe parameter in MongoDB 8.0 enables $search execution in SBE, with a default value of false. (verified as of 2026-10-15) Sources: https://raw.githubusercontent.com/mongodb/mongo/v8.0/src/mongo/db/query/query_feature_flags.idl — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#core`
- [low] The 8.0.32 patch release (Sept 11, 2026) lists SERVER-128512, "Disable SBE tailable and resumed scans"; it is a patch-release change, not a change introduced by MongoDB 8.0 itself. (verified as of 2026-10-15) Sources: https://www.mongodb.com/docs/manual/release-notes/8.0.md — source: `~/.global-ai-hub/research/.pipeline/mongodb-2026-10-14/frb/sbe-vs-classic-engine-defaults-87fd79eb45/rabbithole-synthesis.md#troubleshooting`

## Related concepts

- SBE — is a part of SBE vs classic engine defaults
- engine — is a part of SBE vs classic engine defaults
- classic — is a part of SBE vs classic engine defaults
