Updated on 2022-06-30 GMT+08:00
Indexing Rules
- A column index can have up to 512 bytes, an index name can have up to 64 characters, and a composite index can have up to 16 columns.
- The total length of <Database name>.<Collection name>.$<Index name> cannot exceed 128 characters.
- Use indexes with high selectivity. Indexes with low selectivity will return large number of rows for each key value.
- Write operations on a collection trigger more I/O operations on indexes in the collection. Ensure that the number of indexes in the collection does not exceed 32.
- Do not create indexes that will not be used. Unused indexes loaded to the memory will cause a waste of memory. In addition, useless indexes generated due to changes in service logic must be deleted in a timely manner.
- Indexes must be created in the background instead of foreground.
- An index must be created for the sort key. If a composite index is created, the column sequence of the index must be the same as that of the sort key. Otherwise, the index will not be used.
- Do not create an index based on the leading-edge column of a composite index. If the leading-edge column of a composite index is the column used in another index, the smaller index can be removed. For example, a composite index based on "firstname" and "lastname" can be used for queries on "firstname". In this case, the firstname-based index is unnecessary.
- The time required for creating an index depends on the data volume. You are advised to design the index in advance.
- You can run the db.currentOp command and view the index creation progress in the command output (keyword: createIndexes).
Parent topic: Usage Specifications
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
The system is busy. Please try again later.
For any further questions, feel free to contact us through the chatbot.
Chatbot