mongodb university week4
1、index Creation,background
如果在foreground运行index,会阻塞其他writer,如果background运行,会比较慢,但不会阻塞其他writer,可以并发写入。
但是在产品级别的应用中,你可以同时建立replica set,在其中一个set中运行EnsureIndex foreground ,在其他的set中允许访问,然后再同步。
Tips:
A mongod instance can only build one background index at a time per database.
Although the database server will continue to take requests, a background index creation still blocks the mongo shell that you are using to create the index.
Creating an index in the background takes longer than creating it in the foreground
2、 解释Index背后 mongodb的操作
db.foo.find({c:1}).explain()
该函数返回find对应于背后的数据库操作。
3、当同时有几种index可以使用时,mongodb会同时运行,当有一个index查找到结果时,会都停止。
4、db.collections.totalIndexSize() 返回index的大小bytes
5、对index的选择,进行筛选
6、hint指定选用哪个index,
优先选用c index
db.foo.find({a:100,b:100}).hint({c:1})
.sort()或者.hint()中选用的index,如果为sparse稀疏Index,则会略去该index中值为null的记录;如果使用hint({$natural:1}),则会使用BasicCusor,遍历所有文件。
foo.find(query).sort().hint([])
7、geospatial index
ensureIndex({location:'2D',type:1})
find({location:{$near:[50,50]}})
地理坐标查询:
存储顺序:longitude,latitude
db.runCommand({geoNear:'stores',near:[50,50] ,spherical : true, maxDistance:1})
spherical标示曲面坐标为真,maxDistance标示One radian指最大长度为地球半径,约1/6个地球周长,即六分之一的数据。
mongodb优化
loggine slow queries
当查询时间很长时,该次查询会被记录在log文件中。
profiler有三个层次:0,1,2;
0为不记录;1为记录时间长的查询;2为记录所有查询,多用在dubug程序
在启动mongod时:mongod --dbpath... --profile 1 --slowms 2
db.system.profile.find({millis:{$gt:1000}}).sort({ts:-1})
Mongotop:
Sharding Key
mongodb university week4的更多相关文章
- MongoDB with D3.js
MongoDB with D3.js I consider interactive data visualization to be the critical tool for exploration ...
- MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数
一,问题描述 [使用 unwind 操作符 “解包” Document 里面的Array中的每个元素,然后使用 group 分组统计,最后使用 sort 对分组结果排序] 从 images.json ...
- Mongodb aggregation 基本操作示例
MongoDB二个主要的操作:一个是查询,另一个是统计.对于查询而言,主要是find()方法,再配合Filters组合多个查询条件. 对于统计而言,则主要是aggregate操作,比如 group.s ...
- MongoDB 更新数组中的元素
本文记录如何更新MongoDB Collection 中的Array 中的元素.假设Collection中一条记录格式如下: 现要删除scores 数组中,"type" 为 &qu ...
- MongoDB资料大全
摘要: 为了帮助大家进一步了解MongoDB,云栖社区组织翻译了GitHub Awesome MongoDB 资源,涵盖MongoDB中常见的库与工具.应用列表.以及相关的文档.教程等资源. Mong ...
- 简明 MongoDB 入门教程
MongoDB 是免费开源的跨平台 NoSQL 数据库,命名源于英文单词 humongous,意思是「巨大无比」,可见开发组对 MongoDB 的定位.与关系型数据库不同,MongoDB 的数据以类似 ...
- Getting Started with MongoDB (MongoDB Shell Edition)
https://docs.mongodb.com/getting-started/shell/ Overview Welcome to the Getting Started with MongoDB ...
- MongoDB 红宝书-MongoDB官网使用指南
本文转载自Mongodb中文社区:http://www.mongoing.com/archives/27359 无论你是MongoDB的使用者.爱好者.初学者还是路人甲,有一个学习与进修的资源宝藏是千 ...
- 提高生产性工具(五) - 数据的过滤器和图形化(适用于 MVC5 + MongoDB)
在下面流水账似的文章之前,先将一些感悟说一下. 1.如果一个系统对于某个功能在至少三个地方使用的话,必须将其抽象提炼出来,而且时间点最好是大规模测试之前. 2.提炼出来的功能,如果品质做得好,整个系统 ...
随机推荐
- BZOJ3282: Tree
传送门 又是权限题= =,过了NOIp我就要去当一只权限狗! LCT裸题,get到了两个小姿势. 1.LCA操作应该在access中随时updata 2.Link操作可以更简单 void Link(i ...
- C++中int,float,string,char*的转换(待续)
//float转string char a[100]; float b = 1.234; sprintf(a, "%f", b); string result(a); //int转 ...
- 用javascript替换URL中的参数值
<script> function changeUrlArg(url, arg, val){ var pattern = arg+'=([^&]*)'; var replaceTe ...
- CodeForces 689B Mike and Shortcuts (BFS or 最短路)
题目链接:http://codeforces.com/problemset/problem/689/B 题目大意: 留坑 明天中秋~
- CPU host-passthrough技术与应用
为了保证虚拟机在不同宿主机之间迁移的时候的兼容性,Libvirt对CPU提炼出标准的几种类型,在/usr/share/libvirt/cpu_map.xml中可以查到.cpu_map.xml不仅是CP ...
- HTML5 常用的结构化标签整理
一.语义化结构化标签 结构化标签优点: 1.方便浏览器处理和识别,提升了网页的质量和语义. 2.减少了大量无意义的div标签,增强代码的可读性. 结构化标签:(header,nav,body,arti ...
- HTML5播放器实例
鉴于html5Audio and video的使用,设计了一个自定义风格的播放器,除实现一些基本的默认功能之外,还实现了一些高级功能. 具体功能如下: 实现播放暂停按钮 实现静音按钮 实现音量调节滑动 ...
- SRS(simple-rtmp-server)
1.Push h.264 to rtmp server from tcp.
- WebAPI文件上传与下载
http://www.cnblogs.com/GarsonZhang/p/5511427.html https://github.com/GarsonZhang/FileUpLoadAPI
- VS2015 推荐插件
VS2015 推荐插件 //////////////////////////////////////////////////////////////////////////////////////// ...