`
xly_971223
  • 浏览: 1273965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

改良分页逻辑

    博客分类:
  • java
 
阅读更多
先看一段代码
这是一段熟悉的不能在熟悉的分页逻辑
访问了两次数据库
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);
		}
	}


这样的效率在项目里面是难以接受的

可以采用冗余表或冗余字段的方式来改良

比如论坛中的帖子和回复,可以在主贴中添加一个冗余字段 post_num来解决

有些无法加字段的情况可以加一张表,缓存记录总数

这两种方式都能极大的改善程序的性能 ,当然前提条件是你的项目读远远大于写

1
0
分享到:
评论

相关推荐

    ScrollView分页 仿京东淘宝商品详情 改良版(新增到顶部)

    这个"ScrollView分页 仿京东淘宝商品详情 改良版(新增到顶部)"项目就是针对这一需求而设计的。 分页效果的核心在于,当用户滚动到ScrollView的底部时,能够自动加载下一个“页面”或布局,模拟出无限滚动的效果。...

    asp通用分页

    3. **分页逻辑**:计算总页数,这通常基于查询结果的总数除以每页的记录数。同时,需要处理当前页的索引,确保其在有效范围内。 4. **函数设计**:一个通用的分页函数应该接受必要的参数,如每页记录数、当前页数和...

    Pager ASP.NET分页组件

    2. **易于集成**:JadeControls.Pager.dll是组件的核心库文件,包含了所有必要的分页逻辑。只需将其添加到项目引用中,就可以在ASP.NET页面上直接使用分页控件。 3. **高度可配置**:可以调整每页显示的记录数,...

    toPage分页.zip

    总之,`toPage.js`是一个经过改良的jQuery分页插件,它简化了动态数据分页的实现,并提供了自定义样式和首页、末页跳转的功能。理解其工作原理和使用方法,将有助于开发者在项目中实现高效、美观的分页效果。

    XListView的改良版

    这在处理无限滚动列表或者分页加载的数据流中特别有用,用户无需手动翻页,只需要持续上拉就能看到新的内容。对于那些需要不断加载新数据的应用,如微博、电商产品列表等,上拉加载能提供无缝的浏览体验。 ...

    XListView 下拉刷新,上拉更多 效果很好(最新改良)

    这在处理分页数据或者无限滚动列表时非常实用,用户无需手动翻页,而是可以连续浏览内容。XListView通过监听滚动事件,当判断出用户已经滚动到列表底部时,会触发加载更多数据的逻辑,通常是向服务器发送请求获取...

    一个简单实用的数据库操作框架

    本框架是基于IBM开发网上的相关文章进行改良和扩展的结果,旨在提供一个易用且功能丰富的工具,使得数据库查询、插入、更新和删除等操作更为便捷。 一、框架设计思想 1. **面向对象封装**:框架以面向对象的方式...

    收获不止SQL优化

    12.1.2 Rownum分页改写 337 12.1.3 Hint直接路径改造 338 12.1.4 只取你所需的列 339 12.1.5 避免或者减少递归调用 341 12.1.6 ROWID优化应用 347 12.2 设法避免外因影响 350 12.2.1 Hint改写确保执行计划...

    收获,不止SQL优化--抓住SQL的本质

    12.1.2 Rownum分页改写 337 12.1.3 Hint直接路径改造 338 12.1.4 只取你所需的列 339 12.1.5 避免或者减少递归调用 341 12.1.6 ROWID优化应用 347 12.2 设法避免外因影响 350 12.2.1 Hint改写确保执行计划...

Global site tag (gtag.js) - Google Analytics