Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
关于分页问题(ZT)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

这个问题的本质是,如何从一个查询中返回按某种顺序排列的特定位置的数据。
从目前的解决办法来看,有几种类型:
1、利用服务器端游标,这个在Web程序中非常不可取。消耗的资源很大,很容易把服务器搞死。特别对一些数据量很大的查询更是如此。分页只是减少了返回的数据量,但是服务器端还是查询了所有的数据,还要保持对数据库的连接,数据库的资源还是被消耗了。
2、利用嵌套的sql来查询某一页的数据。这个办法可以不用服务器端游标,但是仍然消耗了很多数据库的资源。特别是在访问页码比较大的页面的时候。页码越大,消耗资源越多。Hibernate就是用的这种办法。
3、用缓存查询的主键的办法来查询。就是一次查一页的数据,下次查主键大于第一页的主键的办法来查询。这个办法对于顺序访问非常好,速度很快,但是跳页的时候不适合。而且,要知道查询结果的总条数,必须select count,有时候,select count也是很耗资源的。微软的解决方案是推荐这种方法的。
4、折衷组合以上办法。
其实,微软的断开式数据集对于提高服务器性能还是大有好处的。使用java,也可以用同样的思路,搞一套只用快速只进游标的查询类库和断开连接的数据容器。
关键,还是要做好分页问题。
更新的效率,其实并不是很重要(当然,数据库结构要合理),查询的效率,始终是个大问题。



相关文章

相关软件