TBD when the project completes.
Description of Linked Ticket
Summary
This project implements functionality to allow indexes to be hidden from the query planner.
Motivation
As MongoDB users evolve schemas and tune performance, they are often in a position where dropping an index could improve query performance and reduce collection overhead. However, dropping an index comes with the risk that an application or script may depend on an index for acceptable performance and recreating can take substantial time.
Allowing users to hide an index provides the opportunity to evaluate impact on user workloads. Restoring the index can then be done quickly, without having to undergo the time and expense of a full index build.
Additionally, adding an index can cause a negative change in performance, if the query planner starts using the new index over a preferable existing index. Creating an index that is hidden on build completion allows users to make it visible at a suitable time for evaluation.
Hiding an index only allows for plan selection evaluation and does not reduce the cost of maintenance. Index removal will still be required to reclaim disk space and improve write performance.
Cast of Characters
- Product Owner: Katya Kamenieva
- Project Lead: James Wahlin
- Program Manager: Craig Homa
Documentation
Specs commit: https://github.com/mongodb/specifications/commit/fafb0076e3c2ee8c35497bd1260c1cfc672c4919
- depends on
-
PHPLIB-575 Hidden Indexes
- Closed
-
CDRIVER-3646 Hidden Indexes
- Closed
-
CSHARP-3086 Hidden Indexes
- Closed
-
CXX-2007 Hidden Indexes
- Closed
-
GODRIVER-1600 Hidden Indexes
- Closed
-
JAVA-3717 Hidden Indexes
- Closed
-
MOTOR-541 Document Hidden Index Option
- Closed
-
NODE-2591 Hidden Indexes
- Closed
-
PYTHON-2219 Document Hidden Index Option
- Closed
-
RUBY-2243 Hidden Indexes
- Closed
-
RUST-399 Hidden Indexes
- Closed