我是 MongoDB 和面向文档的数据库的新手,当我将关系数据库迁移到存储问题的全新概念时:< / p>
user's table
和一个last_activity
)慢写操作不会锁定其他表。在 MongoDB 中做同样的事情是否有任何优势,因为读取操作似乎非常高效,并且执行两个查询不是一个大问题? 提前谢谢大家。
答案 0 :(得分:1)
如果您使用默认存储引擎MMAPv1,那么您具有集合级并发性,为频繁更新的字段创建新集合可能会有所帮助。
但是,WiredTiger存储引擎具有文档级并发性,无需创建其他表。 https://docs.mongodb.org/v3.0/core/wiredtiger/
答案 1 :(得分:1)
从版本mongodb 3.2开始,默认情况下已经在使用wiredtiger。此引擎不是创建其他集合所必需的。 好吧,不要忘记创建可更新字段索引。
db.test.ensureIndex({name: 1});
db.test.update({"name":"Alex"}, {$set:{"last_name":"alexeev"}})