ajax
前台静态html+后台ashx
数据量足够多,访问量足够多.(sqlsever)
想要减轻服务器压力.
目前想法是(在网上也看到xml的用法但心存疑惑):
 
1如果直接把数据库数据用分页的方法显示出来,这样会增加数据库的负担,也不经济. 
2把数据库的内容直接生成n个xml文件(每个文件为相同的数据,不够时用添加方法,达到时重新生成新的xml文件)( 但如果有一条数据删除了也是个问题,csdn是不用删除的直接修改内容) 
3网上也有人说,根据查询条件取出数据生成xml,然后显示,这样的好处是减轻数据库负担,我没有感到这样的好处. 
请高手给我支招,你们觉得如何设计才好.或者结合json等其他方法也行,
这是另一个贴地址: http://topic.csdn.net/u/20081028/11/47916b1c-83a1-4675-904c-31333716feb9.html

解决方案 »

  1.   

    看来,我要采取我说的第二种方法,全部生成xml文件了
      

  2.   

    谢谢了,看来只有全部生xml了,大家觉得了,这样用户浏览时全部在xml中提取,不用数据库操作.
    只有提交/修改/删除时才涉及到数据库.你们认为了
      

  3.   

    首先,你应该用缓存,看看这篇文章:
    http://cocotech.spaces.live.com/blog/cns!2C4B3DACBA4C1BE2!445.entry用csdn来举例:
    每个帖子都是一个Post对象。打开帖子时
    if (Cache.Contains(帖子唯一ID))
    ...从缓存中读取帖子
    else {
    ...从数据库获得帖子数据,生成Post对象
    ...然后将Post对象放入Cache中
      Post p=.......
      Cache c=new Cache(....
    ..用dependency定义缓存在什么情况下自动过期(例如数据库内容被修改)
      Cache.Insert(帖子ID,c);
    }
    用了缓存之后,如果还不行,就应该考虑加内存(因为缓存消耗内存),和加服务器了
      

  4.   

    一个设计良好的数据库对已几千万数据根本不成问题
    当然,数据放到XML文件中也可以
    只要服务器的IO能够承受
      

  5.   

    数据的及时性要求如何?
    1.如果要很高的及时性那么请使用Lucene吧,当然研究它也是需要时间的,不过速度是绝对快的。
    2.要求性不高的话,可以增加临时表,这些临时表的数据通过后台来更新。
    3.还有一种办法,使用SQL2005的表分区,这样子速度会提高很多。
      

  6.   

    那我都生成xml可不可行了,觉得缓存有点对它感冒