-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
Description of Drivers Ticket:
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
See DRIVERS-816 for updated details.
- is depended on by
-
DRIVERS-816 Hidden Indexes
- Development Complete
- is duplicated by
-
MOTOR-541 Document Hidden Index Option
- Closed