evi*_*ery 4 performance schema mongodb
选项1:
{
_id: ObjectId,
text: String,
author: {
id: ObjectId,
name: String,
email: String
}
}
Run Code Online (Sandbox Code Playgroud)
选项 2:
{
_id: ObjectId,
text: String,
authorId: Id,
author: {
name: String,
email: String
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个类似于上面选项 1 的 Post 文档模式。有一个单独的“作者”集合,上面的作者 ID 字段引用了该集合。“姓名”和“电子邮件”在此处重复;Author 集合中有更多的作者信息。
我对 Post 集合的查询之一是通过某个作者 ID 查询所有帖子。
在性能方面,是否最好使用选项 2,因为作者 ID 密钥位于文档的“顶级”?如果您像选项 1 那样通过嵌套键搜索文档有什么区别吗?
不,它不会产生显着的性能差异。MongoDb 可以很好地索引“顶级”键或“嵌套键”。MongoDb 可以在内部读取完整的 BSON 对象,从而有效地访问它的任何部分。在这里阅读:http : //www.mongodb.org/display/DOCS/BSON
您可以尝试创建 2 个测试集合,并在查询的字段上创建索引。性能将是相同的。
| 归档时间: |
|
| 查看次数: |
1262 次 |
| 最近记录: |