-
数据量很大时,查询使用索引可大幅度提高效率 1.db.imooc_collection.getIndexes() #查看集合的索引情况,初始情况下有_id一个索引 2.db.imooc_collection.ensureIndex({x:1}) #创建x字段索引,+1为升序,-1为降序,这里的1不再代表值 3.如果数据量非常大,创建索引需要消耗一定的时间,这时需要在使用数据库之前就将索引创建完毕,否则会对数据库性能造成较大影响查看全部
-
mongoldb的概念查看全部
-
四种MongoDB的安全防护:查看全部
-
profile扫描开启之后,db.system.profile.find().sort().limit查询结果中各字段的含义: op: 操作类型; ns: 查询使用的namespace; query:查询所用字符串,也就是find()中所使用的查询条件; cursorid: 游标id, getmore时需要用到,多次getmore使用的cursorid一样; ntoreturn:返回数目; ntoskip: 跳过的数目,只有使用skip()才会不为0; nscanned: 扫描的索引数目; nscannedObjects: 扫描的实体数目; 一般只有在扫描了索引之后还无法确定是否找到对应数据时,才会扫描实体,所以一般nscanned>=nscannedObjects numYield: 查询过程中遇到其他操作如IO,会把当前时间让出来给其他操作 millis: 扫描所用时间 responseLength: 返回长度查看全部
-
mongostat 输出部分字段的含义: inserts/query/update/delete: 分别指当前mongodb插入、查询、更新、删除 数量,以每秒计; getmore: MongoDB返回结果时,每次只会返回一定量;当我们继续用find()查询更多数据时,系统就会自动用getmore来获取之后的数据; command: 执行的命令数量; flushes: MongoDB使用虚拟内存映射的方式管理数据,我们在向MongoDB写入或查询数据时,MongoDB会做一次虚拟内存映射,有些数据其实是在硬盘上的;每隔一段时间,MongoDB会把我们写到内存的数据flush到硬盘上;这个数据大的话,会导致mongodb的性能较差; mapped/vsize/res: 与磁盘空间大小有关,申请的内存大小; faults:如果我们查询的数据,没有提前被MongoDB加载到内存中,我们就必须到硬盘上读取,叫做“换页”;如果faults比较高,也会造成性能下降; idx miss: 表示我们的查询没有命中索引的比率;如果很高,说明索引构建有问题,索引不合适或者索引数量不够; qr|qw: 说明MongoDB的写队列或者读队列的情况。我们向MongoDB读写时,这些请求会被放到队列中等待。数量大(几百上千)说明MongoDB处理速度慢或者读写请求太多,性能会下降。 ar|aw: 当前活跃的读写客户端的个数。查看全部
-
如何评判索引构建情况(是好处多还是弊端多) 所用到的工具方法:查看全部
-
2dsphere索引简介 由于geoJSON不是MongoDB独有的内容,这里不做具体介绍,只是稍微带过 2dsphere索引支持的查询不仅包含了$minDistance,还在 查询一定范围内的点、查询一定形状内的点 之外,增加了一个新的查询:查询两个多边形的交叉点查看全部
-
geoNear 查询(可以看做是$near查询的进化版本),它不仅支持 minDistance,而且它的返回结果多了一些数据查看全部
-
$geoWithin查询与三种形状结合 实例查看全部
-
$geoWithin 查询可以与三种形状配合查询查看全部
-
2d索引创建、位置表示方式、查询方式查看全部
-
用$near结合$maxDistance 来查询距离某个点最近的点。 如果不使用$maxDistance,$near查询默认返回前100个点。 没有$minDistance!没有$minDistance!没有$minDistance!重要事情说三遍!!!查看全部
-
地理位置索引演示所用例子 发现经度超出范围会报错,但是纬度超出范围不会报错,但是在查询时会出现不可预知的错误。查看全部
-
地理位置索引概念与子分类查看全部
-
索引属性及其实现细节 补充说明: 过期索引 db.collection.ensureIndex({time:1},{expireAfterSeconds: 10})查看全部
举报
0/150
提交
取消