【发布时间】:2008-09-17 18:30:40
【问题描述】:
首先,有一点背景:
我正在使用 ScrollableDataTable 显示一个包含 288 行和 8 列(2304 条记录)的数据集,性能还有很多不足之处。重新呈现控件的 AJAX 请求需要近 20 秒才能完成,而使用 DataTable 控件呈现相同数据时需要 7 秒。
通过 Servlet 过滤器和 JavaScript 捕获的指标表明,几乎所有的处理时间都花在了客户端上。在 19.87 秒的请求中,3.87 秒花费在服务器上……查询和排序数据的时间不到 0.6 秒。
切换到 DataTable 控件将请求、响应和呈现周期缩短到我在 ScrollableDataTable 中看到的 1/3,但也删除了几个重要功能。
现在的问题是:
还有其他人遇到过 ScrollableDataTable 的性能问题吗?在 JSF/RichFaces 中使用固定列和两轴滚动呈现大量表格数据的最有效方法是什么?
更新:
我们最终编写了一个自定义控件。对渲染组件和生成的 JavaScript 的完全控制使我们能够实现与 DataTable 相当的响应时间。不过我同意 Zack 的观点——分页是正确的答案。
【问题讨论】: