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水木清华站∶精华区