MongoDB 2.2索引

 

  • 在mysql中已经学习了索引,并知道索引对于查询速度的提升
  • mongodb也支持索引,以提升查询速度

步骤一:创建大量数据

  • 执行如下代码,向集合中插入10万条文档

for(i=0;i<100000;i++) {

    db.t1.insert({name:'test'+i, age:i})

}

步骤二:数据查找性能分析

  • 查找姓名为'test10000'的文档

db.t1.find({name:'test10000'})

  • 使用explain()命令进行查询性能分析

db.t1.find({name:'test10000'}).explain('executionStats')

  • 其中executionStats下的executionTimeMillis表示整体查询时间,单位是毫秒
  • 性能分析结果如下图:

 

 

 步骤三:建立索引

  • 创建索引
  • 1表示升序,-1表示降序

db.集合.ensureIndex({属性:1})

db.t1.ensureIndex({name:1})

步骤四:对索引属性查询

  • 执行上面的同样的查询,并进行查询性能分析

db.t1.find({name:'test10000'}).explain('executionStats')

  • 性能分析结果如下图:

 

索引的命令

  • 建立唯一索引,实现唯一约束的功能

db.t1.ensureIndex({'name':1}, {'unique':true})

  • 联合索引,对多个属性建立一个索引,按照find()出现的顺序

db.t1.ensureIndex({name:1, age:1})

 

  •  查看文档所有索引

db.t1.getIndexes()

 

 

  • 删除索引

db.t1.dropIndexes('索引名称')

posted @   LiuYanYGZ  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示