使用mongoDB嵌套集合优化搜索效率?

时间:2011-08-01 13:30:48

标签: mongodb document-oriented-db

让我们假设我们有下一个数据结构:

{
    {
    "name" : "ElementName1",

    "index" : [
         {"name" : "key1", "value" : 1},
         {"name" : "key2", "value" : 2},
         {"name" : "key3", "value" : 3}
        ]
    },
    {
    "name" : "ElementName2",
    "index" : [
         {"name" : "key1", "value" : 3},
         {"name" : "key2", "value" : 2},
         {"name" : "key3", "value" : 7}
        ]
    },
}

我们的想法是尽可能获得最佳的读取性能。让我们假设按名称搜索的优先级,所以我们确保名称的升序索引(实际上我写了一个原型和索引大大提高了搜索速度。这使搜索时间从1-2秒减少到0.1秒对于一百万个非常大的文档。)想法是以某种方式索引嵌套数组字段,但问题来自于他们编写的here,这在某种程度上是不可能的。我正在尝试使用 mongodb-csharp 组合来实现它,但我建议我们不要指定语言。我看到可能的增加选项有哪些:

  1. 以我尚未意识到的方式实现此索引。
  2. 为那些数组嵌套字段再创建一个集合并将其编入索引。
  3. 其他选择。
  4. 请分享您的观点和想法。

0 个答案:

没有答案