讨论:xml与sql2000(800分讨论)

jerry_yuan 2006-04-24 10:03:38
我们现在正在做一个收藏夹的项目,因为数据量大考虑以下两种方案不知哪种性能更好,请大家来讨论(此讨论在多个板块开发出,请大家关注)。
问题:我们网站有几十万的注册用户,现在给注册用户开通网页收藏夹的功能,每位用户可以收藏若干个网址(内容包括网址、用户评论等)假如每位用户收藏200条录,那么50万的用户,总共就会有一亿条记录(要对这1亿条记录进行添、删、改、检索的操作)。
方案1:运用xml+sql2000来荐储数据。对第位用户建一个xml,用xml来存储用户的收藏夹,sql2000里只存储标题及关键字(便于搜索)用户每次对自己的收藏夹操作时,只要修改用户的xml文件,只有查询时才对sql2000数据库进行查询操作。
方案2:所有信息全部放在sql2000里,每次操作直接在sql2000中完成。
条件:必须用mssql数据库
请大家讨论看哪种方案更好或有其它的方案,并说明理由。
...全文
584 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
完美人生2013 2006-05-11
  • 打赏
  • 举报
回复
To:itview(可以包含中文字符,不能用于登录)

50万张表当然恐怖,不过显然不会分成这么多表,一般按照用户ID的前两位字母进行分表,从A0、A1、A2……AZ,B0、B1、B2……BZ,……,Z0,Z1……ZZ,也就900多个表。

如果有多个业务需要分表存储,建议将每个业务独立成一个数据库(大型项目都是有很多个数据库的),这样的好处是即便某个业务的数据库崩溃了,对其他业务也没有影响。而且单个数据库的容量也不会太大。比如上面讨论的UserFavorite就建议独立试用一个数据库进行存储。
maoqi2232 2006-05-10
  • 打赏
  • 举报
回复
我想用lucene的方法,备份索引,是否符合你的要求。她的缺点可能就是时式性要差点。我想你坐的应该是网摘吧 。补过也没有多大的影响。
lengyuewuhen 2006-05-09
  • 打赏
  • 举报
回复
仅是用户的收藏夹就有这么多数据
是不是太多了
可以控制一下会员权限,然后给他多少存储量
感觉两种方法都不好做
tianzhi21 2006-05-08
  • 打赏
  • 举报
回复
记录太多的话XML不可取了,机子非完了不可~~~
itview 2006-05-08
  • 打赏
  • 举报
回复
回复人:aljcn(完美人生:能切实帮别人解决问题的前提下才骗分) ( 一级(初级)) 信誉:100
-------------
若是有50万张表,是不是也很恐怖呢
san12655874 2006-05-03
  • 打赏
  • 举报
回复
我觉得第一种方案可行。。
XML的作用是对数据进行格式化,而SQL对XML支持,但是2楼的说支持有限,也是有道理的。
这么庞大的数据,需要使用大型数据库。如果使用SQL,那么就必须保证数据库的维护和性能问题,所以用XML来存储用户的收藏夹,sql2000里只存储标题及关键字(便于搜索)用户每次对自己的收藏夹操作时,只要修改用户的xml文件,只有查询时才对sql2000数据库进行查询操作。我觉得非常有道理。
OK。。。
lk_517 2006-05-02
  • 打赏
  • 举报
回复
个人建议用1

2的话规模太大,有很大风险,一旦发现无法承受这么多记录时转都不好转
laoluop415 2006-05-01
  • 打赏
  • 举报
回复
NB
webwalker 2006-04-30
  • 打赏
  • 举报
回复
第一种方法可取
langxiaofeng 2006-04-30
  • 打赏
  • 举报
回复
写一个存储过程.
sky_2008 2006-04-30
  • 打赏
  • 举报
回复
我只知道一个,分表存储,其他的就不是很了解了
d23372 2006-04-29
  • 打赏
  • 举报
回复
qiglave(yangchun) ( ) 信誉:100 2006-04-28 15:57:00 得分: 0


分表存储,然后按条件查询相关表,统计时也可联接多个表一起查询

再配合xml使用,尽可能减少对库的维护操作,

SQLserver 记录超过100万条,再来做更新维护就比较恐怖了。


=========================
强!
学习,顺便JF
i169net1 2006-04-29
  • 打赏
  • 举报
回复
散些分给俺们新人吧...........................
散些分给俺们新人吧...........................
unic0603 2006-04-28
  • 打赏
  • 举报
回复
我觉得2好
qiglave 2006-04-28
  • 打赏
  • 举报
回复
分表存储,然后按条件查询相关表,统计时也可联接多个表一起查询

再配合xml使用,尽可能减少对库的维护操作,

SQLserver 记录超过100万条,再来做更新维护就比较恐怖了。
xu8512 2006-04-27
  • 打赏
  • 举报
回复
拆分貌似可行
greatbag 2006-04-27
  • 打赏
  • 举报
回复
把1的xml改成html,读取xml时对资源的消耗也是很恐怖的
webwait 2006-04-26
  • 打赏
  • 举报
回复
我不选2
kokubo_wing 2006-04-26
  • 打赏
  • 举报
回复
学习
Kshatriya 2006-04-25
  • 打赏
  • 举报
回复
用1吧.
1亿条记录在一个表,恐怕数据库要受不了的,或者可以试试分开不同的表,动态生成表,新加入一个收藏夹,根据规则生成一个表,在主表加入一条记录,收藏夹表作为明细,这样如果组合查询的话也可能比较慢.但是存到数据库里毕竟要比xml文件安全一些
加载更多回复(3)

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧