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


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

下面测试中用到了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("索引名称")
 

最新文章

  1. servlet使用入门
  2. js下载浏览器中的图片
  3. shell生成随机数的几种方法
  4. pg强制删库
  5. iOS学习笔记10-UIView动画
  6. AFHTTPClient的异步回调模式
  7. Linux命令行 3大技巧归纳
  8. 杂乱无章之Oracle(一)
  9. PD code与name联动(取消)设置
  10. HDU2053.JAVA
  11. iOS开发之——巧用反射机制
  12. 图像重采样(CPU和GPU)
  13. 开心菜鸟系列学习笔记------------javascript(6)
  14. victim是什么意思_victim在线翻译_英语_读音_用法_例句_海词词典
  15. spring管理配置文件的工厂类--PropertiesFactoryBean
  16. 如何在Win7安装U盘中加入USB3.0驱动的支持
  17. C/S 和B/S 详解 --- 2017-04-25
  18. SQL基本介绍
  19. 洛谷P2486 染色
  20. api测试工具

热门文章

  1. 剑指Offer——贪心算法
  2. 安卓自定义日期控件(仿QQ,IOS7)续
  3. 05 Activity 跳转传值
  4. UNIX网络编程——UDP编程模型
  5. Cytoscape源码下载地址和编译办法
  6. 记录github出错及解决方案
  7. 根据CSS的class选择DOM
  8. 【Linux 操作系统】 Secure CRT 终端配置 -- 配置语法高亮 光标 和 字体
  9. 分布式进阶(八)Linux提示Unable to locate package该如何处理?
  10. 简单模拟 Spring