0

我正在构建一个自定义控件来进行查找并提供数据库中几个项目的状态摘要。有 20 种不同的状态,为了确定每种状态的数量,我正在做一个 NotesDatabase.search 来计算每种状态。

当只有 2 个状态要检查时,这很好,但是企业现在希望显示所有这些状态。:)

我担心进行搜索所需的时间,并希望以最有效的方式进行搜索。

我考虑到的事情:

  • 文档会定期更新,所以我真的不能让代理进行计算,而自定义控件会运行这些静态值的查找。这意味着数据是旧的。
  • 结果取决于登录的用户,根据他们的登录 ID 进行计数,所以我真的不能每个人有单独的视图。

有没有人有一个干净的建议解决方案?

我即将开始测试 20 次搜索,并将使用这些结果进行更新,但预计它会非常慢。

一种

4

3 回答 3

1

另一种选择:而不是@DBLookup,您进入视图并使用导航器端到端地运行它。这相当快,应该比 20 倍搜索快。

当然,您可以更新 QuerySave 事件中的计数并将其写入特定于用户的内存配置文件中。

因此,在您的 QuerySave 中,您会看到 ApplicationBean 中加载了哪些用户并更新了这些用户。如果用户新登录,则在数据库中搜索应用程序 bean。当会话到期(会话侦听器)时,ApplicationBean 中的条目将被清除。

于 2012-08-29T03:32:24.133 回答
0

实际上,使用ONE Ajax 调用可能会更好,而不是 20 次搜索。创建一个按您的状态分类并折叠的视图。然后进行 Ajax 调用...statusview?ReadViewEntries&Outputformat=JSON&count=100。这将为您提供 100 个具有 childcount 属性的状态摘要条目。

这对你有用吗?

于 2012-08-29T03:26:43.390 回答
0

是否可以添加 20 个状态文档,并在满足某些条件时更新这些文档中的一个或多个?每次更新文档时,代理都会运行以匹配这些条件,以更新状态。

如果每天有很多更新,那效率并不高。

于 2012-08-31T13:35:15.677 回答