在RDBS中,我们有两个表:
在显示Users
详细信息的用户界面的上下文中,如果我们希望通过company name
和size
进行过滤,我们可以执行快速SQL查询以获取以下格式的值:
CompanyID CompanyName
101 Microsoft
102 Google
...
CompanyIDsCSV Size
101, 102 100000+
..
随着数据的标准化,预计操作会很快。
在MongoDB的上下文中,我可以使用嵌入式集合:
{
UserID: ...
,FirstName: ...
,LastName: ...
,Company:
{
ID: ...
,Name: ...
,Size: ...
}
}
但是为了最初将数据加载到过滤器中,我需要阅读所有文档。可以分享一下如何在MongoDB的上下文中进行优化吗?
我在想的是:
company.id
上创建索引,以便在使用过滤器时通过它进行搜索在MongoDB文档中,有Embedded and Normalized data models的指南,但我想这样对我的数据进行建模会是个坏习惯吗?
我知道,我需要确保嵌入式集合和规范化集合之间的数据相同,但是我准备支付成本以获取最佳读取性能。