MongoDB数据库的索引管理
来源:互联网 发布:mac做app开发 编辑:程序博客网 时间:2024/06/05 10:23
众所众知索引在数据库查询中起到举足轻重的作用,它可以加快查询的速度。现在我就来说一下非关系型数据库MongoDB里面的索引管理。首先不管是关系型数据库还是非关系型数据库,索引在数据量庞大的时候才能体现出来,所以我先建一个数据量稍微大一点集合,截图如下:
在c2集合里面添加了100条数据(感觉数据还是很少)。
首先我们不使用索引才查询,使用命令db.集合名.find({age:***})用age条件来查,截图如下:
使用explain函数来查询一下时间,截图如下:
我来解释一下这里面的一些属性,nscannedObject:99说明查询的时候扫描了99条数据,也就是说把整个集合给全部扫描了一遍。至于这里的millis:0我认为是当时给集合里面添加数据的时候虽然添加了100条,但还是太少了,而且这里显示没有创建索引。
接下来我们添加一个普通索引,使用命令db.集合名.ensureIndex({age:1}),截图如下:
添加成功后,我们再来查询一下,截图如下:
现在和上面形成了鲜明的对比。这里使用了普通的索引,所以nscannedObjects:1,说明只扫描了一条数据.
接下来我来讲一下创建唯一索引,创建唯一索引之前,要先把之前的索引删除了,使用命令db.集合名.dropIndex({条件}),截图如下:
删除之前的那个普通索引之后,使用命令db.集合名.ensureIndex({age:***},{unique:true})用age条件来创建唯一索引,截图如下:
添加唯一索引成功之后,再来查询一下,截图如下:
感觉好像和之前的普通索引查询效果一样。
但是添加唯一索引之后,就不能添加和age=20相同的记录了,否则报错,截图如下:
- MongoDB数据库的索引管理
- 查看MongoDB索引的使用,管理索引
- MongoDB数据库的索引操作
- MongoDB 索引的使用, 管理 和优化
- MongoDB索引管理
- mongodb-索引管理
- MongoDB索引管理-索引的创建、查看、删除
- MongoDB索引管理-索引的创建、查看、删除
- MongoDB数据库索引
- MongoDB数据库索引
- MongoDB数据库索引
- 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)
- 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)
- MongoDB索引与索引管理详解
- MongoDB之数据库管理
- MongoDB--数据库管理
- Mongodb 数据库管理
- MongoDB--数据库管理
- X86汇编语言(四)
- 温故java基础
- Lucene学习笔记(4)
- nginx服务器2
- pyplot.subplot 及 imshow绘图 去除坐标轴及调整子图间距
- MongoDB数据库的索引管理
- linux $问题研究
- 谈谈我对PMP的一点点感受
- 如何使用ZeroBrane Studio 调试cocos2dx-Lua代码
- wireshark抓包
- shell 简单学习2
- VM安装虚拟机踩过的坑
- 城市地图
- 分布式事务在银行