我正在构建一个自定义控件来进行查找,并提供数据库中几个项目状态的摘要。有20种不同的状态,为了确定每个状态的数量,我正在做一个NotesDatabase.search来计算每个状态。
当只有2个状态需要检查时,这很好,但业务现在希望显示所有状态。 :)
我担心进行搜索所需的时间,并希望以最有效的方式执行此操作。
我考虑过的事情:
有没有人有一个干净的建议解决方案?
我即将开始测试20次搜索,并会根据这些搜索结果进行更新,但我预计会非常慢。
A
答案 0 :(得分:1)
另一个选项:代替@DBLookup,你进入视图,然后使用导航器端到端地运行它。这非常快,应该比20倍搜索更快。
当然,您可以在QuerySave事件中更新计数并将其写入内存配置文件中的特定用户。
因此,在QuerySave中,您将看到ApplicationBean中加载了哪些用户并更新了这些用户。如果用户新登录,则数据库中的搜索将完成到应用程序bean中。当会话到期时(会话侦听器),ApplicationBean中的条目将被清除。
答案 1 :(得分:0)
使用 ONE Ajax调用实际上可能会更好,而不是20次搜索。创建按状态分类并折叠的视图。然后进行Ajax调用...statusview?ReadViewEntries&Outputformat=JSON&count=100
。这将为您提供带有子计数属性的100个状态摘要条目。
这会对你有用吗?
答案 2 :(得分:0)
是否可以添加20个状态文档,并在满足某些条件时更新这些文档中的一个或多个?每次更新文档时,代理都会运行以匹配这些条件,以便更新状态。
如果每天有很多更新,那就不是很有效了。