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数据库 **////*************** ...
随机推荐
- 倒计时器CountDownLatch与同步屏障CyclicBarrier
CountDownLatch CountDownLatch是一个非常实用的多线程控制工具类,这个工具通常用来控制线程等待,它可以让某一个线程等待直到倒计时结束,再开始执行.在这里指CountDownL ...
- hdu 3061 hdu 3996 最大权闭合图 最后一斩
hdu 3061 Battle :一看就是明显的最大权闭合图了,水提......SB题也不说边数多少....因为开始时候数组开小了,WA....后来一气之下,开到100W,A了.. hdu3996. ...
- 字符串hash-26进制与10进制互相转换
Lovekey http://acm.hdu.edu.cn/showproblem.php?pid=2100 #include <bits/stdc++.h> using namespac ...
- 参数化1--jmeter参数化数据(_csvread函数、用户自定义变量等)
以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...
- Network | CIDR
无类别(现在) 无类别域间路由(Classless Inter-Domain Routing.CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由IP数据包的对IP地址进行归类的方法. CI ...
- POJ 2505 A multiplication game [博弈]
题意:两个人做游戏,每个人都可以在自己的回合里将数p乘以2到9之间的一个数,初始时p=1,谁先将p乘到大于等于n就算赢. 思路:一开始我算sg值,结果算来算去都没算明白... 后来看了别人题解,才豁然 ...
- 任务驱动,对比式学习.NET开发系列之开篇------开源2个小框架(一个Winform框架,一个Web框架)
一 源码位置 1. Winform框架 2. web框架 二 高效学习编程的办法 1 任务驱动方式学习软件开发 大部分人学习软件开发技术是通过看书,看视频,听老师上课的方式.这些方式有一个共同点即按知 ...
- popcount 算法分析
转载: http://blog.csdn.net/gaochao1900/article/details/5646211 http://www.cnblogs.com/Martinium/archiv ...
- VirtualBox 扩展虚拟硬盘容量
转载:VirtualBox 扩展虚拟硬盘容量 如果使用的是ubuntu主机加xp虚拟机,扩容后,xp还无法识别扩大后的硬盘部分,可以在xp下使用“分区助手”进行处理,即将扩大的空间分给C盘.
- Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml, reason:
Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml, reason: Connection t ...