【问题标题】:Xpages large number of documents values in repeat controlXpages大量文档值重复控制
【发布时间】:2017-10-26 16:35:13
【问题描述】:

我正在开发我们需要从旧笔记应用程序迁移到 xpages 的应用程序。因此,从旧应用程序中,我们有超过 2,00,000 个文档。

所以在 xpages 应用程序中,我们在重复控制的帮助下加载这些文档列表,那么是否有任何优化的方法可以更快地加载数据,因为加载这么多文档需要超过 5 分钟才能加载。

一些建议会很有帮助。

我从中加载数据的重复控件的公式来自页面数据源dominoView。页面数据源是:>

并且此数据源用于重复控件中以像在图像中一样动态加载。

我们还提到要重复的寻呼机和有限行。

【问题讨论】:

  • 如果可以的话,我绝对会避免一次加载那么多文档。一次在屏幕上显示 200,000 个文档的用例是什么?您可以将分页器控件添加到重复中,以一次将文档向上翻页 30 个。
  • 是的,您是对的,但我们已经有一个限制为 20 个条目的寻呼机,但不知道它一次加载所有文档。然后也出现寻呼机。
  • 我认为问题不在于重复本身,而在于您获得收藏的方式。你的重复“价值”公式是什么?
  • 好的,我快速编辑我的问题并发布有关重复公式的更多详细信息。请看一下,如果一切正常,请。
  • 视图选择公式和列中的任何计算?避免在运行时进行任何计算。我主要使用带有 java 对象或 javasjonobjects 的数组列表的重复控件,然后我可以将对象值注入重复控件项中。我没有那么大的记录集,但有数以万计的文件很好,即使是通过电话提供商在移动设备上。

标签: xpages document repeat xpages-ssjs


【解决方案1】:

您需要重新设计方法。对于初学者,不要尝试加载文档,而是加载 viewEntries。扫描视图比打开每个文档要快得多。

其次:我建议您采用基于客户端(非重复控制)的方法:使用通过虚拟加载以 Json 为基础的数据网格之一。这应该会带来更好的用户体验。

【讨论】:

    【解决方案2】:

    答案在您的屏幕截图中:它显示该行的styleClass 属性调用rowData.getDocument()。这是一个很大的禁忌,特别是如果您在重复内容的许多地方使用此技巧。

    更新您的视图并将任何对页面渲染有用的内容放到视图的列中。无论如何,这就是@stwissel 所说的。

    【讨论】:

    • 是的,我知道了,不仅用于 styleClass,而且我还使用 rowData.getDocument() 来检索重复列表中的文档字段。我知道现在我正在从服务器请求每个字段的文档需要时间加载的值。因为我有这个工作代码许多其他应用程序,但只有这个应用程序我遇到了这个问题,现在重新设计可能会产生风险,所以有没有安全的解决方案来从文档中获取数据,而不是为每个数据调用 rowData.getDocument()在文档字段内?
    【解决方案3】:

    您可能想重新考虑您的设计。用户如何在 2M 文档中找到内容?也许在重复之前放置一些其他过滤器或搜索?

    【讨论】:

    • 是的,我们有一个搜索栏,但在第一次加载时,它会先加载所有文档,然后再进行搜索。
    • 正如我所说,你需要重新考虑你的逻辑。让用户先输入搜索词,然后只显示结果。有一些方法可以过滤文档...一些东西...重复 2M 文档有什么好处?没有人会逐页浏览这些内容。
    • 正如霍华德所说,颠倒你的逻辑。最初不加载文档,然后根据搜索加载它们。或者加载 25 只是为了开始。谷歌和其他网站加载受限数据集是有原因的,性能证明了这一点。如果您想在 Web 上模拟 Notes 视图,请在用户向下滚动时使用客户端方法延迟加载。但我强烈建议不要以在 Web 上复制 Notes 客户端为前提的架构,因为这不是浏览器应用程序的工作方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多