【发布时间】:2012-08-06 07:27:16
【问题描述】:
在我的数据库中,我有超过 100,000 条记录,将来可能会更多。所以我想为此实现分页。它就像帖子一样,偶尔用户可以转到最旧或太旧的帖子。我使用的是spring MVC,数据库是mysql。
我也使用 PagedListHolder 来实现分页。我想每页显示 25 个帖子,但如果我最初获取所有 100,000 个帖子,那么加载所有记录需要一些时间。如果我首先加载 100 条记录,然后将列表与另外 100 条记录合并等等,这样会更好吗?如果用户想查看最旧的帖子,则获取最后 100 个帖子并在最后一页显示最后 25 个帖子。
所以只是想知道如果有人可以帮助我给出正确的方向,这个解决方案是否可行。
【问题讨论】:
-
我在stackoverflow.com/questions/2245035/… 中使用 setFirstResult 和 setMaxResults(limit)。使用 start 和 limit 你可以计算从哪里开始获取数据以及多少。仍然不明白为什么要合并列表中的值而不是获取新记录。在我的实现中,我只获取要在当前页面中显示的记录数。如果您获取的值较少,您可以懒惰地获取某些页面的数据,但这种情况可以通过缓存或增加数据库中的连接数(对于大用户)来处理。
标签: mysql spring-mvc pagination