2014年3月11日

[转载]MongoDB的$inc修改器

摘要: MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数、长整数和双精度浮点数,用于其他类型的数据会导致操作失败。>db.users.findOne(){ “_id” : ObjectId(“4e91165aca685bef6dd86d3d”), “relationships” : { “friends” : 32, “enemies” : 2 }, “sex” : “mail”, “username” : “joe”}>db.users.update({“_id”:ObjectId(“... 阅读全文

posted @ 2014-03-11 16:45 iackjee 阅读(1037) 评论(0) 推荐(0) 编辑

[转载]MongoDB优化的几点原则

摘要: 1.查询优化确认你的查询是否充分利用到了索引,用explain命令查看一下查询执行的情况,添加必要的索引,避免扫表操作。2.搞清你的热数据大小可能你的数据集非常大,但是这并不那么重要,重要的是你的热数据集有多大,你经常访问的数据有多大(包括经常访问的数据和所有索引数据)。使用MongoDB,你最好保证你的热数据在你机器的内存大小之下,保证内存能容纳所有热数据。3.选择正确的文件系统MongoDB的数据文件是采用的预分配模式,并且在Replication里面,Master和Replica Sets的非Arbiter节点都是会预先创建足够的空文件用以存储操作日志。这些文件分配操作在一些文件系统上可 阅读全文

posted @ 2014-03-11 16:19 iackjee 阅读(919) 评论(0) 推荐(0) 编辑

[转载]MongoDB查询优化原则

摘要: 1.在查询条件、排序条件、统计条件的字段上选择创建索引,可以显著提高查询效率。2.用$or时把匹配最 多 结果的条件放在最前面,用$and时把匹配最 少 结果的条件放在最前面。3.使用limit()限定返回结果集的大小,减少数据库服务器的资源消耗,以及网络传输的数据量。4.尽量少用$in,而是分解成一个一个的单一查询。尤其是在分片上,$in会让你的查询去每一个分片上查一次,如果实在要用的话,先在每个分片上建索引。5.尽量不用模糊匹配查询,用其它精确匹配查询代替,比如$in、$nin。6.查询量大、并发大的情况,通过前端加缓存解决。7.能不用安全模式的操作就不用安全模式,这样客户端没必要等待数据 阅读全文

posted @ 2014-03-11 16:17 iackjee 阅读(702) 评论(0) 推荐(0) 编辑

导航