Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在网格中加载大数据_Performance_Large Data_Slickgrid - Fatal编程技术网

Performance 在网格中加载大数据

Performance 在网格中加载大数据,performance,large-data,slickgrid,Performance,Large Data,Slickgrid,我在我的electron应用程序中使用了SlickGrid(),我需要处理(加载/浏览/编辑)一个大数据集(比如:1000万行和1000列)。我尝试使用DataView,但DataView希望所有数据同时出现在JavaScript数组中。在JS数组中加载大数据非常慢。如何使用SlickGrid实现快速加载和快速滚动?在不使用后端分页的情况下加载那么多数据和那么多列将是一个问题。就我个人而言,当我处理几千行时,我使用后端分页,我使用DataView完成了两个后端服务(OData或GraphQL),

我在我的electron应用程序中使用了SlickGrid(),我需要处理(加载/浏览/编辑)一个大数据集(比如:1000万行和1000列)。我尝试使用DataView,但DataView希望所有数据同时出现在JavaScript数组中。在JS数组中加载大数据非常慢。如何使用SlickGrid实现快速加载和快速滚动?

在不使用后端分页的情况下加载那么多数据和那么多列将是一个问题。就我个人而言,当我处理几千行时,我使用后端分页,我使用DataView完成了两个后端服务(OData或GraphQL),我必须构建自己的分页组件,它工作正常,每次更改页面时我都会覆盖数据,见演示。唯一的缺点是你不能使用分组这样的功能,因为你手头没有所有的数据,除此之外,它是超级的quick@ghiscoding你的观点是正确的。由于我的electron应用程序不是基于Angular这样的框架构建的,我还可以使用OData吗?我考虑的另一种方法是提取一小部分数据(比如100行),填充JS数组,然后刷新DataView。根据滚动方向,我可以用另一组数据重新填充JS数组和DataView。但是我也可以在没有DataView的情况下完成这项工作。不知道哪一个是最好的。如果我加载部分数据,DataView的排序、分组等功能就没有用了。OData是为我的库构建的服务,但是你可以看看我最近创建的另一个库,它有OData,它与框架无关,所有的演示都使用纯类型脚本(它也适用于ES6语法)。对于DataView部分,排序应该由您的后端查询(如OData)处理,分组是您唯一缺少的内容(仅在当前页面上有it组)。我在另一个项目中做的另一件事是先加载500行,这样用户就可以工作,然后一点一点地推送部分。。。因此,您可以多次加载数据,这允许您的用户在后台推送更多数据时与某些数据交互,甚至在您使用分组时,它也会保留组并间接地向组中添加更多数据。这消除了jaggering,效果很好,但在排序/分组/过滤等方面仍然很慢。。。处理超过一百万的数据并不理想,它可以工作,但它不是最好的,请看,有两个AJAX加载示例涉及从web API提取数据。请注意,由于API随时间的变化或消失,它们都已损坏,但它们曾经工作过!