JiveJdon Community Forums
在线260人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » 项目工程开发经验谈
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 4 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
junglesong

发表文章: 36
注册时间: 2006年06月07日 14:05
给他发消息
分页的算法问题,能否提高效率(非SQL) 发表: 2006年10月06日 18:35 回复
大家对分页都很熟悉了,我上个项目是这样分页的,大家看看整个过程是否有潜力可挖.

基本记录分 Id,title,concept三项,用户可以对它们进行组合查询(非SQL)取得数据并排序,我的处理过程如下.:
1.按查询条件取得所有数据.
2.对这些数据进行排序.
3.取出前20条并显示,取得页数显示在分页栏上.

对第二步和第三步我感觉有潜力可挖,如果采取较好的数据结构和cache的话也许没有那么多事,大家在这方面有没有经验,我们探讨一下.
banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 分页的算法问题,能否提高效率(非SQL) 发表: 2006年10月08日 09:09 回复
》如果采取较好的数据结构和cache的话
是的,如果有好的算法,可以在应用服务器内存中实现,不必使用数据库的算法,但是好像有点重新发明轮子的嫌疑,数据库已经提供了稳定可靠的数据算法排序,直接使用就可以。

而且在内存中进行数据排序,容易破坏业务层的面向对象特征,虽然可以分担数据库一部分负载,但是设计意义不大。

按照Evans DDD的领域建模想法,这部分也是通过数据库查询实现的。
junglesong

发表文章: 36
注册时间: 2006年06月07日 14:05
给他发消息
Re: 分页的算法问题,能否提高效率(非SQL) 发表: 2006年10月08日 10:47 回复
banq大哥,假设没有数据库Sql的帮助,怎么写这个分页呢?对于海量数据,是否应该有比Sql更快的办法?

我现在的构想是插入记录时就是有序的,三个字段都排一下,这样可以把查询的压力分散倒Insert/Update/Delete中去.

banq

发表文章: 9114
注册时间: 2002年08月03日 17:08
给他发消息
Re: 分页的算法问题,能否提高效率(非SQL) 发表: 2006年10月10日 10:55 回复
>对于海量数据,是否应该有比Sql更快的办法
应该是的,这就象做搜索引擎了。

如果你还依赖数据库,那么读写缓存+SQL是一个成本不高的中间解决方案。

你之前说的在内存中进行排序等算法,这个我也思考过,好像很难实现。
这又类似做全文检索了。
junglesong

发表文章: 36
注册时间: 2006年06月07日 14:05
给他发消息
Re: 分页的算法问题,能否提高效率(非SQL) 发表: 2006年10月11日 23:58 回复
谢谢回答,受教了,先用读写缓存+SQL方案吧,有什么想法再向您讨教。
这个主题有 4 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam