我正在使用Grails 2.2.4和MySQL来开发我的Web应用程序 在数据库中,我有Candidate表,它有超过300.000条记录。当我对此表执行查询时,按照以下分页获取所有记录:
Candidate.list(max: 100, offset: X)
最后一页返回的数据非常慢。它适用于第一页和中间页。我认为这是一个数据库问题。以前有人遇到过这个问题吗?是否有任何解决方案可以解决这个问题? 非常感谢你。
答案 0 :(得分:1)
我建议
对查询进行排序。未分页的分页可能会在每个请求中产生不同的页面。排序可以设置如下:
Candidate.list(max: 100, offset: X, sort: "whatever_column")
确保排序列上有索引
有关限制的MySql排序的更多信息,例如here