MongoDB学习笔记(三)
2024-08-26 10:33:59
第三章 索引操作及性能测试
索引在大数据下的重要性就不多说了
下面测试中用到了mongodb的一个客户端工具Robomongo,大家可以在网上选择下载。官网下载地址:http://www.robomongo.org/
插入 测试数据
首先插入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("索引名称")
最新文章
- servlet使用入门
- js下载浏览器中的图片
- shell生成随机数的几种方法
- pg强制删库
- iOS学习笔记10-UIView动画
- AFHTTPClient的异步回调模式
- Linux命令行 3大技巧归纳
- 杂乱无章之Oracle(一)
- PD code与name联动(取消)设置
- HDU2053.JAVA
- iOS开发之——巧用反射机制
- 图像重采样(CPU和GPU)
- 开心菜鸟系列学习笔记------------javascript(6)
- victim是什么意思_victim在线翻译_英语_读音_用法_例句_海词词典
- spring管理配置文件的工厂类--PropertiesFactoryBean
- 如何在Win7安装U盘中加入USB3.0驱动的支持
- C/S 和B/S 详解 --- 2017-04-25
- SQL基本介绍
- 洛谷P2486 染色
- api测试工具