mongo索引

以你之姓@ 2022-05-26 12:05 274阅读 0赞

本文主要介绍mongo的索引

  • 索引的作用
  • 索引的类型
  • 索引的注意事项
  • 索引的创建管理

索引的作用

索引的作用是在进行查询的时候,首先会去查询索引,如果在索引中找到对应的内容,那么根据索引对应的地址找到相应的数据即可,从而加快查询的速度。不过,每次在进行插入操作的时候会更新索引对应的B树。所以需要根据需要创建索引,不要创建不必要的索引。

索引的类型

  • 单键索引
  • 复合索引
  • 唯一索引
  • 稀疏索引

索引创建的注意事项

1、如果collections不是很大,不推荐建索引,因为这样会在每个查询的时候发生两次查找,一次是查找索引,一次是找表。

2、如果某个索引是为了管理员平时维护数据使用的索引,最好不要建立出来。建立索引的时候,最好是为程序中已经使用的一些查询创建索引。

查看索引

db.COLLECTION.getIndexKeys();

db.COLLECTION.getIndices();

创建索引

db.user.ensureIndex({“name”:1})

{

“createdCollectionAutomatically” : false,

“numIndexesBefore” : 1,

“numIndexesAfter” : 2,

“ok” : 1

}

db.user.getIndexKeys();

[ { “_id” : 1 }, { “name” : 1 } ]

创建复合索引

db.user.ensureIndex({“name”:1,”age”:1})

重建索引

db.user.reIndex({“name”:1});

{

“nIndexesWas” : 2,

“nIndexes” : 2,

“indexes” : [

{

“v” : 2,

“key” : {

“_id” : 1

},

“name” : “_id_“,

“ns” : “xytest.user”

},

{

“v” : 2,

“key” : {

“name” : 1

},

“name” : “name_1”,

“ns” : “xytest.user”

}

],

“ok” : 1

}

删除索引

db.dropIndex(“name_1”)

发表评论

表情:
评论列表 (有 0 条评论,274人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mongo

    bash查询 不用创建库,不用创建表,直接插入就都有了! 数据库 查询`show dbs` 创建`use dbName` 删除`` \`\` 集合

    相关 mongo索引中的顺序

    我们在使用mongo中可能并未使用排序,但在查询出来数据自动排好序了,或者我们需要使用mongo的自动排序完成一些功能。 1、当无索引的情况下的查询 db.mon

    相关 mongo

    MongoDB 学习记录(一) 注释: \[db name\] : 数据库名 \[collection\] : 相当于关系型数据库中的表(table) 数据插

    相关 mongo索引

    本文主要介绍mongo的索引 索引的作用 索引的类型 索引的注意事项 索引的创建管理 索引的作用 索引的作用是在进行查询的时候,首先会去