MongoDB学习笔记<六>
继续mongoDB的学习
--索引具体解释
--索引管理
--空间索引
1.创建简单索引
(1)先准备20万条数据
for(var i = 0;i< 200000;i++){
db.books.insert("number":i,"name":i+"book")
}
(2)检查一下查询性能
var start = new Date()
db.books.find({"number":123456})
var end = new Date();
end - start
(3)为number创建索引
db.books.ensureIndex({"number":}) 此处1代表正序,-1代表倒序
2.须要注意的地方
-索引的创建在提升查询性能的同一时候会影响插入的性能
-对于常常查询少插入的文档能够考虑使用索引
-每一个键都建立索引不一定能够提高性能
-在做排序工作时,假设是大数据量也能够考虑索引
3.创建索引时能够同一时候指定索引的名字
db.books.ensureIndex({"name":1},{name:"bookname"})
4.唯一索引
怎样解决集合books不能插入反复的文档
建立唯一索引:db.books.ensureIndex({"name":1},{unique:true})
5.剔除反复值
假设建立唯一索引之前,已经有反复文档,怎么办?
db.books.ensureIndex({"name":1},{unique:true,dropDups:true})
6.hint
怎样强制查询使用指定的索引
db.books.find({"name":"obook"}).hint({"name":1})
指定索引必须是已经创建好了的索引
7.explain
怎样具体的查看本次查询使用哪个索引和查询数据的状态信息
db.books.find({"name":"0book"}).explain()
8.索引的创建过程在后台运行
db.books.ensureIndex({"name":"0book"},{bookground:true})
9.删除索引
db.runCommand({dropIndexes:"books",index:"name_1"})精确删除
db.runCommand({dropIndexes:"books",index:"*"})全部都删除
MongoDB学习笔记<六>的更多相关文章
- MongoDB学习笔记(六)--复制集+sharding分片 && 总结
复制集+sharding分片 背景 主机 IP 服务及端口 Server A ...
- MongoDB 学习笔记(六):备份与用户管理
一.启动项 1.在启动数据库服务时可以在命令行输入mongod命令,然后直接带一些参数,比如“mongod --dbpath D:\Installations\MongoDB-2.4.6\MongoD ...
- MongoDB学习笔记(六、MongoDB复制集与分片)
目录: MongoDB部署模型 MongoDB可复制集 MongoDB读写分离 分片架构部署 最佳实践 MongoDB部署模型: 单机 -> 可复制集 -> 分片集群 MongoDB可复制 ...
- MongoDB学习笔记(六)
初识 MongoDB 中的索引 索引就像图书的目录一样,可以让我们快速定位到需要的内容,关系型数据库中有索引,NoSQL 中当然也有,本文我们就先来简单介绍下 MongoDB 中的索引. 索引创建 默 ...
- MongoDB学习笔记(五)--复制集 && sharding分片
主从复制 主从节点开启 主节 ...
- MongoDB学习笔记(转)
MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB ...
- MongoDB学习笔记:快速入门
MongoDB学习笔记:快速入门 一.MongoDB 简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.M ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
随机推荐
- [Oracle] Lock&Latch梳理
Oracle lock&latch 1. 概述 4种锁机制 lock latch pin mutex 保证资源在并发访问和修改时不被破坏 锁类型 行为 持有时间 级别 保护类型 lock 队列 ...
- selenium入门教程c#
一. 简述 1. 介绍 Selenium是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE. ...
- springBoot 数组增加工具类包
1.pom中加入依赖 <!--数组工具类 start--> <dependency> <groupId>org.apache.commons</groupId ...
- AC日记——[Ahoi2009]Seq 维护序列seq bzoj 1798
1798 思路: 维护两个标记: 乘:m 和 加:a 先下放乘,再下放加: 下放乘的时候要把子节点的加一块乘了: 开long long: 来,上代码: #include <cstdio> ...
- 浅谈.Net异步编程的前世今生----EAP篇
前言 在上一篇博文中,我们提到了APM模型实现异步编程的模式,通过使用APM模型,可以简化.Net中编写异步程序的方式,但APM模型本身依然存在一些缺点,如无法得知操作进度,不能取消异步操作等. 针对 ...
- MyBatis动态SQL底层原理分析 与 JavaScript中的Date对象,以及UTC、GMT、时区的关系
http://fangjian0423.github.io/categories/mybatis/ http://xtutu.me/the-date-object-in-js/
- ThinkPHP创建应用的一般开发流程及实例
Thinkphp是免费开源的php框架,提供了建站所需要的各种组件,方便用户快速建设部署网站. Thinkphp简介:http://thinkphp.cn/Manual/16 官方完全开发手册:htt ...
- Struts2学习记录-Value Stack(值栈)和OGNL表达式
仅仅是学习记录.把我知道的都说出来 一.值栈的作用 记录处理当前请求的action的数据. 二,小样例 有两个action:Action1和Action2 Action1有两个属性:name和pass ...
- Linux下防火墙iptables用法规则详及其防火墙配置
转:http://www.linuxidc.com/Linux/2012-08/67952.htm iptables规则 规则--顾名思义就是规矩和原则,和现实生活中的事情是一样的,国有国法,家有家规 ...
- url 传中文
if (null == keyword || keyword.equals("关键字")) keyword = ""; if(keyword.length()& ...