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.提炼出来的功能,如果品质做得好,整个系统 ...
随机推荐
- JS-制作网页特效——选项卡效果(水平,点击)
//总结:这个样式的思维很重要,以前刚开始做,想的都是,怎么获取到自己点击的是哪一个li,然后给他以对应的div样式.后来发现难点是,怎么找到另外两个没有被点击的li和他们对应的div.把他们的样式去 ...
- 修改nginx的访问目录以及遇到的403错误修改总结
对于这个问题困扰了我好几天,前篇文章介绍了图片服务器的使用,但是两个服务器如何进行通话访问呢,即如何通过nginx来访问ftp服务器上的资源文件呢,这里面需要修改nginx的配置文件(vi /usr/ ...
- PHPCMS后台统计点击量时出现点击数不改变可能丢失了JS代码。
<script language="JavaScript" src="{APP_PATH}api.php?op=count&id={$id}&mod ...
- javascript Date format(js日期格式化)
这个用这比较爽,记录一下// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年( ...
- Android学习笔记——ProgressBar
该工程的功能是实现进度条的显示,按以下按钮进度条增加10% 以下代码是MainActivity.java中的代码 package com.example.progressbar; import and ...
- HDFS的Java操作
实验环境: Windows 10 Eclipse Mars.2 Release (4.5.2) CentOS 7 Hadoop-2.7.3 先决条件: 1) Windows上各环境变量已配置OK. ...
- js取float型小数点后两位数的方法
四舍五入以下处理结果会四舍五入:' var num =2.446242342; num = num.toFixed(2); // 输出结果为 2.45 不四舍五入以下处理结果不会四舍五入:第一种, ...
- ecshop 变量表
get_goods_info($goods_id) 商品详情 get_sales_count($goods_id) 商品销量 get_promote_goods() 参与促销商品 Mobile
- osharp3 整合 dbcontextscope 文章2 将dbcontext的创建收回到ioc管理
osharp3 整合 dbcontextscope 后,,dbcontextscope 对dbcontext管理的很好,做到,用到时创建,不用时销毁,下面看一个 trace aspx.page: En ...
- Yii2 – 如何写一个插件 , 如何做一个扩展
原文地址: http://www.fancyecommerce.com/2016/05/10/yii2-%E5%A6%82%E4%BD%95%E5%86%99%E4%B8%80%E4%B8%AA%E6 ...