博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mongodb学习笔记三(Mongodb索引操作及性能测试)
阅读量:6432 次
发布时间:2019-06-23

本文共 904 字,大约阅读时间需要 3 分钟。

第三章 索引操作及性能测试


索引在大数据下的重要性就不多说了 

下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载。官网下载地址:

插入 测试数据

首先插入100万条测试数据

for(var i=1;i<1000000;i++){
var person={Name:"jack"+i,Age:i,Address:["henan","wuhan"],Course:[{Name:"shuxue",Score:i},{
Name:"wuli",Score:i}]}db.DemoTest.Person.insert(person) }

 

性能分析函数(explain)

mongodb中给我们提供了一个关键字叫做“explain"做性能分析。

执行查询分析如下:

db.DemoTest.Person.find({
Name:"jack5784124"}).explain()

从上图我们可以看出在没有建立索引的情况下,查询的时间大约是是615毫秒。

创建索引

db.TestCollection.Person.ensureIndex({
Name:1}) -----1代表索引按照字母升序排列

查询如图:

从图上我们可以看出,查询时间变成了大约2毫秒,性能提高了几百倍。

 

唯一索引

和sqlserver一样都可以建立唯一索引,重复的键值自然就不能插入,在mongodb中的使用方法是:

db.TestCollection.Person.ensureIndex({
Name:1},{
"unique":true})

 

组合索引

有时候我们的查询不是单条件的,可能是多条件,那么我们可以建立组合索引来加速查询。

db.TestCollection.Person.ensureIndex({
Name:1,Age:1})

 

删除索引

 

db.TestCollection.Person.dropIndex("索引名称")

 

 

转载于:https://www.cnblogs.com/eggTwo/p/4040670.html

你可能感兴趣的文章
flask 2 进阶
查看>>
sentences in movies and teleplays[1]
查看>>
【20181023T1】战争【反向并查集】
查看>>
win7网络共享原来如此简单,WiFi共享精灵开启半天都弱爆了!
查看>>
iOS9 未受信任的企业级开发者
查看>>
paper 40 :鲁棒性robust
查看>>
优化MySchool数据库(事务、视图、索引)
查看>>
使用笔记:TF辅助工具--tensorflow slim(TF-Slim)
查看>>
大话设计模式读书笔记3——单例模式
查看>>
实验三
查看>>
Vue 项目构建
查看>>
[Ruby on Rails系列]2、开发环境准备:Ruby on Rails开发环境配置
查看>>
android studio adb
查看>>
框架源码系列二:手写Spring-IOC和Spring-DI(IOC分析、IOC设计实现、DI分析、DI实现)...
查看>>
asp.net编译 懒人脚本
查看>>
二分答案经典入门题:)
查看>>
为什么你需要将代码迁移到ASP.NET Core 2.0?
查看>>
Servlet的多线程和线程安全
查看>>
存储树形的数据表转为Json
查看>>
CAN 总线通信控制芯片SJA1000 的读写
查看>>