在JqGrid中显示百万条记录

时间:2011-10-29 12:06:35

标签: jqgrid

我有一个网站,我必须从数据库中获取一百万条记录并在JqGrid中显示它。但是当我这样做时,需要大约45到60分钟才能获取并显示记录。

我正在使用JqGrid与JSP,Hibernate,JPA和MySQL数据库。

谁能告诉我怎么办呢?这样可以减少时间延迟并加快记录的加载速度。

提前致谢

@UPDATE

我尝试使用JSON而不是XML,时间缩短为30分钟。在这30分钟内,从数据库中获取数据需要16分钟,并且将数据传递到前端需要14分钟

@UPDATE 2

我可以通过几种方法减少将数据加载到jqgrid所需的时间。

方式1:我的查询中有ORDER BY子句,我将其删除,时间从45-60分钟缩短为5分钟

方式2:删除/减少查询中的连接数。

方式3:不是直接使用Hibernate或JPA对象,而是在结果集中获取查询结果,并使用该结果集创建json对象。

通过使用1种和3种方式,我减少了将200000条记录加载到1分32秒的时间。

1 个答案:

答案 0 :(得分:2)

通常,您不需要同时显示数百万条记录。这将是一件疯狂的事情,完全不切实际。你需要的是实现分页。服务器端分页。这样您只能获取当前可以在屏幕上显示的记录。一次10-30条记录似乎是一个合理的数量显示。在数据库级别执行分页以避免获取数百万条记录并仅显示极少数记录非常重要。