diff --git a/notes/MongoDB_索引.md b/notes/MongoDB_索引.md index 6f35aaa..187f27c 100644 --- a/notes/MongoDB_索引.md +++ b/notes/MongoDB_索引.md @@ -132,11 +132,11 @@ db.user.createIndex( { name: -1,birthday: 1} ) 所以应该尽量避免创建冗余的索引,冗余索引会导致额外的性能开销。即如果你创建了索引 `{ name: -1, birthday: 1} `,那么再创建 `{name:-1}` 索引,就属于冗余创建。 -对于复合索引还需要注意它在排序上的限制,例如索引 `{a:1, b:-1}` 支持 `{a:1, b:-1}` 和 `{a:-1, b:1}` 形式的排序查询,但不支持 `{a: - 1, b:-1} ` 或 `{a:1, b:1}` 的排序查询。即字段的排序规则要么与索引键的排序规则完全相同,要么完全相反,此时才能进行双向遍历查找。 +对于复合索引还需要注意它在排序上的限制,例如索引 `{a:1, b:-1}` 支持 `{a:1, b:-1}` 和 `{a:-1, b:1}` 形式的排序查询,但不支持 `{a:-1, b:-1} ` 或 `{a:1, b:1}` 的排序查询。即字段的排序规则要么与索引键的排序规则完全相同,要么完全相反,此时才能进行双向遍历查找。 ### 2.3 多键索引 -如果索引包含类型为数组的字段,MongoDB 会自动为数组中的每个元素创建单独的索引条目,这就是多键索引。MongoDB 使用多键索引来优化查询存储在数组中的内容。创建示例如下: +如果索引包含类型为数组的字段,MongoDB 会自动为数组中的每个元素创建单独的索引条目,这就是多键索引。MongoDB 使用多键索引来优化查询存储在数组中的内容,示例如下: ```shell db.user.createIndex( { Hobby: 1 } ) @@ -144,7 +144,7 @@ db.user.createIndex( { Hobby: 1 } ) ### 2.4 哈希索引 -为了支持基于哈希分片,MongoDB 提供了哈希索引,通过对索引值进行哈希运算然后计算出所处的分片位置。语法如下: +为了支持哈希分片,MongoDB 提供了哈希索引,通过对索引值进行哈希运算然后计算出所处的分片位置。语法如下: ```shell db.collection.createIndex( { _id: "hashed" } ) @@ -275,7 +275,7 @@ db.user.dropIndex("name_-1") db.user.dropIndex({ name: -1,birthday: 1}) ``` -如果想要删除全部的索引,则可以调用 `dropIndexes` 方法,需要注意的是建立在 `_id` 上的默认索引是不会被删除的。 +如果想要删除全部的索引,则可以调用 `dropIndexes` 方法,需要注意的是建立在 `_id` 上的默认索引是不会被删除的: ```shell db.collection.dropIndexes()