有多少"行数据"太多"太多"对于html表

时间:2015-09-05 07:09:24

标签: html datatables ng-grid

好吧,我之前问了这个问题,得到了投票,每个人都告诉我要分页。但现在,我知道这个问题。

我有一个包含大约500行数据并使用DataTables的项目。它在开始时滞后,但搜索速度超快。它比服务器端处理更快。

另一个项目有20,000行数据,每次都会让我的客户端计算机挂起来进行渲染。

为什么不在服务器上对它进行分页?好吧,因为它更难。发送到客户端的数据已经过滤。使用像

这样的复杂逻辑
where columnA = 1 and columnB = 2 or ColumnC = 3. 

我们正在使用ORM。因此,我们在尝试分组时会遇到一些障碍,其中"用"和"和"或"。如果我们发送搜索查询,我们会添加更复杂的

columnD like "%asd%" or columnE like "%asd%" and columnF like "%asd"

查询。由于服务器上的逻辑条件太多,很难做到正确。

我认为服务器和客户端之间的职责分离是进行此开发的最佳方式。它就像服务器对客户说的那样

  

好的,我过滤了" columnA"," columnB"和" columnC"。现在,如果你想搜索" columnD"," columnE"和" columnF"自己动手。

请原谅我,如果我太愚蠢,无法询问您对于html表(或者使用插件或不使用插件)的行数太多的经验。

1 个答案:

答案 0 :(得分:3)

在研究网络之后,我得到了插件提供的一些数字。

Angular UI Grid声称它可以在大数据集中执行,称之为10,000+行

http://ui-grid.info/

DataTables以表格的形式声称大约5,000行,只有当我们想要处理超过一百万行时,才需要来自ajax sourced serverside的50,000行。

http://datatables.net/faqs/#General-initialisation

我在dson中进行了d3 js的实验,其中有更多的2.4MB数据。它拥有超过20,000个非结构数据。因此,当谈到表现时,可能会有一些结论。

我认为html表中的1000行表并不多。浏览器可以使它最初变得有点慢。记住它有意做一些客户端分页处理。因为浏览器可以渲染它,所以人类不能很好地使用它。

它还可以更好地分离您的数据和演示文稿。您不必进行某些服务器处理。当数据太小时,它会提出更多请求。更多请求在您的浏览器中更加滞后。使用源数据并将其保存在内存中,您的浏览器无法快速呈现,但内存中可以快速搜索。