在数据表中显示数百万条记录

Posted

技术标签:

【中文标题】在数据表中显示数百万条记录【英文标题】:showing millions of records in data table 【发布时间】:2012-10-12 12:32:51 【问题描述】:

我需要在分页表中显示数百万条记录。

所以想知道根据性能选择哪一个更好。

1.jquery jqGrid

2.Alloy UI数据表

3.数据表

环境:Liferay 6.0 CE

【问题讨论】:

Jquery jqGrid 很好用,其他我不知道。 【参考方案1】:

没关系:如果你向客户端传输数百万条记录,然后依赖任何 JS 库进行分页,你很快就会在浏览器上耗尽内存(如果你的用户有耐心的话等待数据传输)。

您宁愿寻找服务器端和客户端分页以及动态加载的组合。在那里,我建议使用您最熟悉的库和服务器端框架,因为您传输的数据量并不能证明进行“性能优化”是合理的。不转移所有内容您可以在性能方面进行的优化 - 不是 JS 库的选择

【讨论】:

【参考方案2】:

你有一个显示器可以在一个表格中显示数百万条数据而无需分页吗?

你认识一个会读取所有数百万条数据记录的用户吗?

如果你对这两个问题的回答都是“否”,那么你应该很清楚你确实需要分页。

如果您对这个问题进行更多的思考,您就会明白没有用户会浏览数百万行的所有页面。所以用分页显示数百万条记录事件也是没有意义的。

可能需要一种在数据集中进行过滤或搜索的灵活方式。在这种情况下,它只能显示几行数据。因此,用户应该成为searching toolbar 中的一些控件,并且应该获得一些搜索对话框(simple one 或complex),用户可以使用它来过滤数据。您可以提供某种面向问题的搜索模板。请参阅here jqGrid 中的使用模板示例。我基于 jqGrid 进行所有引用,但同样的问题存在于您将使用的任何类型的表中。

您应该以任何方式更改您的原始问题并考虑一些替代方案,这些替代方案提供用户 GUI 来分析与某些过滤器相关的数据,而不是仅仅在网格中显示大量不需要的信息。

【讨论】:

感谢您的回复...我修改了我的问题以便更好地理解..所以想知道什么是更好的选择..如果您知道任何其他图书馆,请告诉我..谢谢 @Gautam:我发表了我对关闭问题here 的看法。此外,我试图在我的回答中描述您确实需要过滤搜索数据以及分页。如果将在服务器端应用过滤器,则网格中显示的结果将只有一些数据页面。因此可以选择 any 网格来显示结果。如果数据过滤产生超过 10 个页面,您可以为用户显示“过滤太不明确:过滤数据 XXX 行数”而不是数据。这是我对问题的看法。 谢谢...那个链接对我帮助很大。【参考方案3】:

您为什么不喜欢 liferay 标签库来显示您的数据? Liferay 有一个搜索容器标签库,允许您构建自定义的基本/高级搜索表单并显示过滤数据的分页结果。 它还允许用户从 5 到 75 之间选择他们喜欢的页面大小(但我认为可以通过编程方式修改限制)

它很容易实现,你可以在 liferay 源代码中找到一些 taglib 使用示例。

基础搜索容器(不带搜索表单)可以用3个标签完成,只需几行jsp代码...

如果你喜欢,我可以发布一个例子..

【讨论】:

感谢回复..实际上 jqGrid 最适合我的要求,所以我不使用搜索容器,因为我将在如此多的定制中结束 :)...再次感谢

以上是关于在数据表中显示数百万条记录的主要内容,如果未能解决你的问题,请参考以下文章

具有数百万条记录的 2 个数据帧之间的 Pyspark 交叉连接

将数百批 500k - 300 万条记录插入 PostgreSQL 数据库的最快方法

在没有并行提示和批量收集的情况下删除数百万条记录

mysql如何更快地插入数百万条记录? [关闭]

如何使用 Talend Open Studio 处理数百万条 MongoDB 记录并将其插入 Postgres

数据库如何删除数百万条记录?直接sql语句delete?服务器一直在跑,数据库也在变化 我要删除部分数据