从头开始,验证mongodb的索引的好处。(window7环境下)

  1. 下载mongodb服务器,并解压到d盘,并使用以下命令启动 mongod --dbpath D:\mongodb\data
  2. mongo客户端Robo 3T 去官网下载,安装
  3. 准备数据,条数为1亿
public static void main(String[] args) {        try {            /**** Connect to MongoDB ****/// Since 2.10.0, uses MongoClientMongoClient mongo = new MongoClient("localhost", 27017);            /**** Get database ****/// if database doesn't exists, MongoDB will create it for youDB db = mongo.getDB("www");            /**** Get collection / table from 'testdb' ****/// if collection doesn't exists, MongoDB will create it for youDBCollection table = db.getCollection("person");            /**** Insert ****/// create a document to store key and valueBasicDBObject document=null;            for(int i=0;i<100000000;i++) {document = new BasicDBObject();document.put("name", "mkyong"+i);document.put("age", 30);document.put("sex", "f");table.insert(document);}            /**** Done ****/System.out.println("Done");} catch (UnknownHostException e) {e.printStackTrace();} catch (MongoException e) {e.printStackTrace();}}
复制代码
  1. 获取索引情况
  2. 根据姓名查询一条记录6.
  3. 根据姓名创建索引

创建索引的时间稍微有点长,请耐心等待

db.person.createIndex({name:1})

7. 索引情况 8. 再一次查询

索引说明:

索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。

这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。

索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构。

mongodb索引--从55.7秒到毫秒级别相关推荐

  1. mongodb索引--1亿条记录的查询从55.7秒到毫秒级别补充版

    从头开始,验证mongodb的索引的好处.(window7环境下) 下载mongodb服务器,并解压到d盘,并使用以下命令启动 mongod --dbpath D:\mongodb\data mong ...

  2. MongoDB 索引(一)

    索引支持在MongoDB中高效执行查询.如果没有索引,MongoDB必须执行集合扫描,即扫描集合中的每个文档,以选择那些匹配查询语句的文档.如果查询存在适当的索引,MongoDB可以使用该索引来限制它 ...

  3. MongoDB索引原理及实践

    背景 数据库的演进 随着计算机的发展,越来越多的数据需要被处理,数据库是为处理数据而产生.从概念上来说,数据库是指以一定的方式存储到一起,能为多个用户共享,具有更可能小的冗余,与应用程序彼此独立的数据 ...

  4. MongoDB · 引擎特性 · MongoDB索引原理

    MongoDB · 引擎特性 · MongoDB索引原理 数据库内核月报 原文链接 http://mysql.taobao.org/monthly/2018/09/06/ 为什么需要索引? 当你抱怨M ...

  5. MongoDB索引实战技巧

    为什么80%的码农都做不了架构师?>>>    本文内容源自Kyle Banker 的 MongoDB In Action一书.主要描述了MongoDB索引相关的一些基础知识和使用技 ...

  6. mongodb 索引建立问题

    mongodb  索引建立问题 1.主从库索引建立不是同步建立: MONGODB 2.6.6 版本,索引建立并不是同步的,而是主库建立完成后,从库接着建立索引.     不知是3.0版本是否也一样,以 ...

  7. MongoDB 索引-9

    MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录. 这种扫描全集合的查询效率是非常低的,特别在处理大 ...

  8. mongodb 索引建立问题

    mongodb  索引建立问题 1.主从库索引建立不是同步建立: MONGODB 2.6.6 版本,索引建立并不是同步的,而是主库建立完成后,从库接着建立索引.     不知是3.0版本是否也一样,以 ...

  9. MongoDB索引原理和具体使用

    1. MongoDB 索引是用来干嘛? 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录. 这种扫描全集合的查询效率是非常 ...

最新文章

  1. PCL common中常见的基础功能函数
  2. python 柱状图-python 柱状图
  3. 颜色,形状,纹理特征
  4. Nginx出现这么几个500怎么解决?
  5. TPL Dataflow .Net 数据流组件,了解一下?
  6. 《.NET最佳实践》与Ext JS/Touch的团队开发
  7. C++学习之路 | PTA乙级—— 1066 图像过滤 (15 分)(精简)
  8. 四张图,读懂 BIO、NIO、AIO、多路复用 IO 的区别
  9. ES6中字符串新增方法
  10. Python内置函数eval()用法及其安全问题
  11. IOS学习笔记07---C语言函数-printf函数
  12. (转)web app 禁用手机浏览器缓存方法
  13. BGP十三条选路原则
  14. Canvas 实现小程序动画
  15. 如何成熟处理客户反对意见
  16. The content of element type “resultMap“ must match “(constructor?,id*,result*,association*,collectio
  17. 电子签名的制作和使用
  18. isilon SMB 控制允许IP访问
  19. 让你无法拒绝的数学之美,美的完美无瑕
  20. Android studio中的警告Hardcoded text

热门文章

  1. 学习dubbo框架的问题
  2. 个人作业1:小学四则运算——基于控制台
  3. NIO - Scatter/Gather
  4. 使用MySQL Proxy解决MySQL主从同步延迟
  5. Sarg安装配置使用
  6. C#创建和调用DLL
  7. ASP.NET ViewState 初探
  8. 仿照redis写的nginx开机画面
  9. Colly源码解析——结合例子分析底层实现
  10. 提高C++性能的编程技术笔记:单线程内存池+测试代码