我有相当大的数据库,大约有 260 万个文档,其中我有两个集合,每个集合 120 万个,其余的是小集合(<1000 个文档)。当我为小型集合创建新索引时,索引需要很长时间才能完成(所以临时索引没用)。似乎 RavenDB 索引进程读取 DB 中的每个文档并检查是否应将其添加到索引中。我认为只索引索引使用的集合会更好。
此外,当使用 Smuggler 导出数据并且我只想导出一个小集合时,它会读取所有文档并且导出可能需要很长时间。同时使用 RavenDB Linq API 和索引的自定义应用程序可以在几秒钟内导出数据。
为什么 RavenDB 会这样?也许有一些配置设置可能会改变这种行为?