我在后端有一个有角度的4 UI,Web API和SQL Server。我使用的是ag网格(https://www.ag-grid.com/)中的第三方网格。
以下是有关我的情况的信息:
我在SQL Server中总共有100万条记录
我需要根据用户在UI中的选择对数据进行分组。通常,在进行分组之后,要从数据库中获取的记录数大约为20万。
3。用户还将从UI进行一些过滤,这使得要提取的记录数将达到4000到5000左右。
我在服务器端实现了分页(页面大小为100)。我发送偏移量和要从DB获取的记录数。这种情况下的问题是,由于它是一个巨大的数据,我在数据库上的分组需要15秒才能完成,这是相当多的时间。
我尝试过的另一种方法是,不进行分组就从DB获取分页数据,并在API中进行分组,这在几毫秒内就完成了。这里的问题是,我在基于组的用户界面中显示一些值,例如某些字段的计数和总和,当前获取的数据中显示的数据可能不正确/不完整,因为当前组可能跨越另一个数据库中尚未提取的页面。
任何处理这种情况的建议将不胜感激。 谢谢。