使用primefaces使用100.000+记录缓慢DataTable

时间:2017-04-18 19:29:18

标签: java jsf primefaces jsf-2

我有一个APP在会话bean中保存一个大的列表(100.000+记录)

加载网格或任何更改需要2到3秒,我希望它更快。

有没有办法制作数据"懒惰"虽然渲染页面但仍然在会话bean中拥有所有数据?

在primefaces doc中,他们有一个" lazyclass"我不能这样做,托管bean无法扩展这样的类

1 个答案:

答案 0 :(得分:0)

你是如何加载网格的?

您可以尝试为其创建缓冲区。如果你快速加载列表,但是用这么大的列表初始化视图很慢,你可以用较小的列表初始化它 - 大数据的第一部分,然后添加更多的数据。

您可以在此处查看如何拆分列表:Java: how can I split an ArrayList in multiple small ArrayLists? 如今,一些公司使用所有数据存储在RAM中以实现最快的操作。所以在内存设计中不要低估。 100 000并非每台机器都可以处理它。

Java 8 Stream API可以非常有效地处理列表过滤和查询。