服务器端分页与分组

时间:2019-02-27 16:32:13

标签: sql-server angular asp.net-web-api ag-grid

我在后端有一个有角度的4 UI,Web API和SQL Server。我使用的是ag网格(https://www.ag-grid.com/)中的第三方网格。

以下是有关我的情况的信息:

  1. 我在SQL Server中总共有100万条记录

  2. 我需要根据用户在UI中的选择对数据进行分组。通常,在进行分组之后,要从数据库中获取的记录数大约为20万。

3。用户还将从UI进行一些过滤,这使得要提取的记录数将达到4000到5000左右。

  1. 我在服务器端实现了分页(页面大小为100)。我发送偏移量和要从DB获取的记录数。这种情况下的问题是,由于它是一个巨大的数据,我在数据库上的分组需要15秒才能完成,这是相当多的时间。

  2. 我尝试过的另一种方法是,不进行分组就从DB获取分页数据,并在API中进行分组,这在几毫秒内就完成了。这里的问题是,我在基于组的用户界面中显示一些值,例如某些字段的计数和总和,当前获取的数据中显示的数据可能不正确/不完整,因为当前组可能跨越另一个数据库中尚未提取的页面。

任何处理这种情况的建议将不胜感激。 谢谢。

0 个答案:

没有答案