先看一段代码
这是一段熟悉的不能在熟悉的分页逻辑
访问了两次数据库
这样的效率在项目里面是难以接受的
[b]可以采用冗余表或冗余字段的方式来改良
比如论坛中的帖子和回复,可以在主贴中添加一个冗余字段 post_num来解决
有些无法加字段的情况可以加一张表,缓存记录总数
这两种方式都能极大的改善程序的性能 ,当然前提条件是你的项目读远远大于写[/b]
这是一段熟悉的不能在熟悉的分页逻辑
访问了两次数据库
public Page findPageBy(String hql, int pageNo, int pageSize, Object... params){
int nPageNo = Math.max(1, pageNo);
int nPageSize = Math.max(1, pageSize);
int rowCount = (int)this.countRow("select count(*) " + removeSelect(hql), params);
if(rowCount == 0){
return new Page();
}else{
List rows = this.findBy(hql, Page.getStartOfPage(nPageNo, nPageSize), nPageSize, params);
return new Page(nPageNo, rowCount, nPageSize, rows);
}
}
这样的效率在项目里面是难以接受的
[b]可以采用冗余表或冗余字段的方式来改良
比如论坛中的帖子和回复,可以在主贴中添加一个冗余字段 post_num来解决
有些无法加字段的情况可以加一张表,缓存记录总数
这两种方式都能极大的改善程序的性能 ,当然前提条件是你的项目读远远大于写[/b]