【问题标题】:jQuery DataTables performance with individual column select filters and large number of rows具有单个列选择过滤器和大量行的 jQuery DataTables 性能
【发布时间】:2017-01-11 22:53:24
【问题描述】:

我目前有一个来自客户端的表格,其中包含单独的列选择下拉菜单,效果非常好。我有大约 1000 行,性能很棒。惊人的 jQuery 插件。 问题:我的客户刚刚告诉我,这可能会在一个月内增长到 40000 以上。我的客户还告诉我,他们真的很喜欢页脚中的个人选择过滤器,我无法删除它们。因此,我担心性能。如果您不知道我在说单个选择过滤器时在说什么,请参阅此处:

https://datatables.net/examples/api/multi_filter_select.html

我正在四处寻找,我在这里看到了使用客户端和延迟渲染的示例:

https://datatables.net/extensions/scroller/examples/initialisation/large_js_source.html

但问题是我不相信我可以使用延迟渲染,因为客户需要单独的列选择过滤器。我必须为选择过滤器加载所有数据才能正常工作...

有没有人知道如何在大量行数下以良好的速度完成单个列过滤的这种行为,或者提出合理的替代方案?我觉得我已经达到了软件的限制/浏览器在这里...

谢谢!

朱利安

【问题讨论】:

  • 我有同样的问题。如果超过 100000 条记录在数据表中个别列过滤器卡住了。

标签: javascript jquery jquery-plugins datatables


【解决方案1】:

40000 行数据很多,只是从服务器传输到浏览器。它会减慢页面加载速度。

我会在服务器端执行过滤器,并且只输出第一行(比如 1000 行),这样它们对浏览器来说更易于管理,并节省了大量带宽。但这也意味着更多的 JavaScript 和 SQL 编码。

【讨论】:

  • DataTables 有 server-side processing mode 可以使用 serverSide: true 选项启用,这正是您所描述的。如果您使用服务器端库,则不需要额外的编码(有各种语言的开源库)。
  • 是的,但问题是我提到的每列上的单独选择下拉过滤器。客户想要这个,所以我需要预先加载所有数据,不是吗?
猜你喜欢
  • 1970-01-01
  • 2015-08-27
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多