BBS水木清华站∶精华区

发信人: alou (lou), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 13:36:17 2000) 
 
我觉得不需要<10-24-2000这个条件。 
在第一次查询的时候就全部查出来,序列化到一个collection之类的东西去。 
只要这东西能够跨页保存,就可以很容易的跨页浏览。 
 
【 在 gty (红烧鸡翅) 的大作中提到: 】 
∶ 有application server,怎么能没有web server呢:) 
∶ 倒到容器里也不太好,太耗费资源了。 
∶ 我后来想了一个方法,只是感觉不太舒服,请帮我看看有那儿不对(或 
∶ 哪些情况下问题不能解决) 
∶    解决方案: 
∶             假设:所有的查询结果都是按一定顺序显示的 
∶             举例:用户查询自己订单的case中,查询出的订单纪录按 
∶                   时间倒序排列 (最近的订单排在最前面),一个 
∶                   html页面显示10条纪录,第一页的最后一条纪录的 
∶                   时间是10-24-2000。 
∶             要求:查询第11-20条纪录,显示在下一个页面 
∶             解决:"select * from tblOrder where userid='guest' and 
∶                   submitDate<10-24-2000 order by submitDate DESC" 
∶                   这样,产生一个ResultSet。然后从ResultSet中取出10 
∶                   条纪录,转化为serializable object(本例中为order),  
∶                   放到一个Collection(Vector or Arraylist)里,送回 
∶                   到Web tier,交给JSP页面显示。 
∶                   这种方法必须要求查询结果按顺序显示,而且查询条件 
∶                   是Web层可知的。 
∶             问题:如果多条订单的submitDate是10-24-2000,会漏掉很多 
∶                   纪录,怎么办? 
∶ 欢迎大家讨论!� 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.101.154] 
发信人: gty (红烧鸡翅), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 14:14:58 2000) 
 
问题是如果合符条件的记录很多(100?)的话,这个Collection 
就太大了。 
如果对数据的实时性要求不高,例如产品目录,所有用户共享这个 
Collection就非常好了。 
但如果数据老是变化,例如订单,我觉得还是从数据库老老实实的 
取比较好。 
你认为呢? 
 
【 在 alou (lou) 的大作中提到: 】 
∶ 我觉得不需要<10-24-2000这个条件。 
∶ 在第一次查询的时候就全部查出来,序列化到一个collection之类的东西去。 
∶ 只要这东西能够跨页保存,就可以很容易的跨页浏览。 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.100.7.50] 
发信人: alou (lou), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 14:22:27 2000) 
 
 
【 在 gty (红烧鸡翅) 的大作中提到: 】 
∶ 问题是如果合符条件的记录很多(100?)的话,这个Collection 
∶ 就太大了。 
∶ 如果对数据的实时性要求不高,例如产品目录,所有用户共享这个 
∶ Collection就非常好了。 
∶ 但如果数据老是变化,例如订单,我觉得还是从数据库老老实实的 
∶ 取比较好。 
∶ 你认为呢? 
 
这是个可权衡的方案。 
如果是动态比较大的数据,可能会有一些可以取代日期的域如流水编号 
等作为重新查询的条件。 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.101.154] 
发信人: javafancy (love java), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 14:22:49 2000) 
 
 
可以试一下CacheResultSet类 
 
 
【 在 gty (红烧鸡翅) 的大作中提到: 】 
∶ 问题是如果合符条件的记录很多(100?)的话,这个Collection 
∶ 就太大了。 
∶ 如果对数据的实时性要求不高,例如产品目录,所有用户共享这个 
∶ Collection就非常好了。 
∶ 但如果数据老是变化,例如订单,我觉得还是从数据库老老实实的 
∶ 取比较好。 
∶ 你认为呢? 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.78.131.121] 
发信人: yzw (alibaba), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 19:07:10 2000) 
 
 
我是用beans取得数据,每一个页面用一次查询,在把查询结果定位到适当地位置 
用rs.absolute()方法。 
然后取出10条记录,放在vector中,返回到jsp页面上。 
jsp上<jsp:usebeans scope="session"...> 
然后就返回啦! 
 
        缺点: absolute方法是jdbc2.0的方法,在oracle的thin driver 
中实现方法不是很好,和每次next过去也差不多了,:( 
每一个页面用一次查询其实对性能的要求并不是很高的, 
特别是你用了connectionPool之后,呵呵,速度很快的说. 
 
【 在 gty (红烧鸡翅) 的大作中提到: 】 
∶ 问题是如果合符条件的记录很多(100?)的话,这个Collection 
∶ 就太大了。 
∶ 如果对数据的实时性要求不高,例如产品目录,所有用户共享这个 
∶ Collection就非常好了。 
∶ 但如果数据老是变化,例如订单,我觉得还是从数据库老老实实的 
∶ 取比较好。 
∶ 你认为呢? 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.205.10.29] 
发信人: xuyu (库库), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 19:10:39 2000) 
 
我想请教一下有关connectionPool的问题, 
我参照例程用HashTable+Vector做了一个pool 
但是使用了ConnectionPool反而查询速度下降了? 
这是什么原因? 
对了,你每次是conn.close()还是connMgr.freeConnection()? 
【 在 yzw (alibaba) 的大作中提到: 】 
∶ 我是用beans取得数据,每一个页面用一次查询,在把查询结果定位到适当地位置 
∶ 用rs.absolute()方法。 
∶ 然后取出10条记录,放在vector中,返回到jsp页面上。 
∶ jsp上<jsp:usebeans scope="session"...> 
∶ 然后就返回啦! 
∶         缺点: absolute方法是jdbc2.0的方法,在oracle的thin driver 
∶ 中实现方法不是很好,和每次next过去也差不多了,:( 
∶ 每一个页面用一次查询其实对性能的要求并不是很高的, 
∶ 特别是你用了connectionPool之后,呵呵,速度很快的说. 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.116.9.61] 
发信人: yzw (alibaba), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 19:15:38 2000) 
 
我现在在每一个页面中产生一个新的connection, resultset,查询完成后 
在close掉. 
我想如果在一个session中共享一个全局的resultset, 每次absolute(10)(向后) 
或者absolute(-10)(向前),速度一定会快不少.也就是说不用每一页都进行一次 
查询,只在第一次时进行一次查询,以后就用rs向前向后滚动. 
 
不过让一个用户就占用一个session的resultset(statement,connection...) 
呵呵,系统开销太大. 
 
【 在 yzw (alibaba) 的大作中提到: 】 
∶ 我是用beans取得数据,每一个页面用一次查询,在把查询结果定位到适当地位置 
∶ 用rs.absolute()方法。 
∶ 然后取出10条记录,放在vector中,返回到jsp页面上。 
∶ jsp上<jsp:usebeans scope="session"...> 
∶ 然后就返回啦! 
∶         缺点: absolute方法是jdbc2.0的方法,在oracle的thin driver 
∶ 中实现方法不是很好,和每次next过去也差不多了,:( 
∶ 每一个页面用一次查询其实对性能的要求并不是很高的, 
∶ 特别是你用了connectionPool之后,呵呵,速度很快的说. 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.205.10.29] 
发信人: gty (红烧鸡翅), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 19:47:02 2000) 
 
太好了,用absolute()代替next()是个好方法,我怎么没想到呢。 
也许上次被Sun的JDBC ODBC bridge折腾坏了,很长一段时间我不敢 
用JDBC2.0的新API。 
谢谢你啦。 
但你说如果加上一些新条件,让数据库把前面没用的数据过滤掉,会 
不会更好呢? 
一个是Java程序来做过滤,一个是Datbase来做过滤,那种好,哪位 
数据库大牛来回答? 
 
 
【 在 yzw (alibaba) 的大作中提到: 】 
∶ 我是用beans取得数据,每一个页面用一次查询,在把查询结果定位到适当地位置 
∶ 用rs.absolute()方法。 
∶ 然后取出10条记录,放在vector中,返回到jsp页面上。 
∶ jsp上<jsp:usebeans scope="session"...> 
∶ 然后就返回啦! 
∶         缺点: absolute方法是jdbc2.0的方法,在oracle的thin driver 
∶ 中实现方法不是很好,和每次next过去也差不多了,:( 
∶ 每一个页面用一次查询其实对性能的要求并不是很高的, 
∶ 特别是你用了connectionPool之后,呵呵,速度很快的说. 
 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.100.7.50] 
发信人: holly (有些已经离去, 有些永远不会来), 信区: Java        
标  题: Re: 请教一个记录分页显示的问题? 
发信站: BBS 水木清华站 (Wed Oct 25 23:15:08 2000) 
 
 
【 在 gty (红烧鸡翅) 的大作中提到: 】 
∶ 太好了,用absolute()代替next()是个好方法,我怎么没想到呢。 
∶ 也许上次被Sun的JDBC ODBC bridge折腾坏了,很长一段时间我不敢 
∶ 用JDBC2.0的新API。 
∶ 谢谢你啦。 
∶ 但你说如果加上一些新条件,让数据库把前面没用的数据过滤掉,会 
∶ 不会更好呢? 
∶ 一个是Java程序来做过滤,一个是Datbase来做过滤,那种好,哪位 
∶ 数据库大牛来回答? 
 
用 Database 做过滤效率高, 网络传输量小. 
 
-- 
那悲歌总会在梦中清醒, 诉说一点哀伤过的往事 
那看似漫不在乎转过身的, 是风干泪眼后萧瑟的影子 
 
九月的事早已埋藏在风雪之中 
为何我听到你胸口的热血汹涌 
 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.120.13.251] 

BBS水木清华站∶精华区