日期:2014-05-18  浏览次数:20440 次

这样的首页该怎么办???----------------求高手指点下!
首页上列表有几十个,都是操作不同的表,而且数据量都很大。

列表的数据都是 今日排行,本周排行,本月排行这样的列表。

我用Repeater 查询绑定,把网站放在服务器上,打开需要几分钟。

有什么办法解决这个问题??? 求高手指点!

------解决方案--------------------
第一:不要使用服务器控件,使用HTML标签
第二:使用缓存技术,长时间不用更新的就不用每次查询
第三:使用延迟加载技术,在网页尾部的判断浏览器的滚动条位置,加载,这样一个网站就区分成几块了。
第四:使用的的图片可需要做延迟加载或者异步加载。
第五:其他。这个数据库设计,服务器带宽,后台编码造成的。
------解决方案--------------------
1:做数据缓存
 2: 首页生成静态页面
 3:用http长连接加载
------解决方案--------------------
数据缓存是必须的... 在有就是不要用服务器控件 那都是浮云...
用异步请求吧~ 块状加载页面 不要一次加载完全....... 页面布局可能存在布局的问题. 不要用table...
------解决方案--------------------
对啊。。 后台多用缓存,数据延迟加载,数据库建索引 ~
------解决方案--------------------
排行榜的话,你可以设定几分钟去统计一次,统计好了,记录下统计时间和统计结果,放到 HttpRuntime.Cache 里面, 页面上绑定的话, 直接去 HttpRuntime.Cache 获取绑定数据
------解决方案--------------------
对代码进行优化,多使用缓存。
首页上的查询太多 建议多用存储过程之类的
------解决方案--------------------
个人觉得缓存数据,或者是延迟的加载可以考虑一下,也就是数据时在dom加载完成以后,用ajax去取数据的。
还有就是数据可以缓存。从数据库中取到数据就缓存。对于新的数据,可以去数据库取,然后在放到缓存中,以备下次使用,还有就是对于数据库数据的检索,提取,也是可以加快速度,索引的加入等等。
------解决方案--------------------
我感觉应该是你的repeater控件加载和绑定消耗你的资源和时间,是否可以用客户端绑定(<%=%>)的形式?这样的话就直接用一个全局的DataTable,然后客户端调用输出一个表格就行了。记得在td中用<%=数据源%>.
------解决方案--------------------
将动态页生成html页面,然后直接访问html页面。
------解决方案--------------------
在前台页面动态绑定数据 或则生成静态页面
------解决方案--------------------
用局部静态的方式去解决... 必须是动态获取的数据 那就动态获取,其他不是必须的都做静态处理,每天按时自动生成..
如 你所说的 “列表的数据都是 今日排行,本周排行,本月排行这样的列表” 这些数据 可能就只有今日排名是必须动态的,其他两项都可以事先生成html文件


方法有很多,也可以用延迟加载,缓存......之类的
------解决方案--------------------
探讨

将动态页生成html页面,然后直接访问html页面。

------解决方案--------------------
优化数据库啊
------解决方案--------------------
单独建一个排行表并缓存(因为很小),数据与其他表同步(当计数超过分类的最小值的时候)
------解决方案--------------------
首页显示无非就那几个字段,标题\时间\ID什么的,你用union all查询,在加上缓存 .Response.Write输出,基本可以了
------解决方案--------------------
探讨
第一:不要使用服务器控件,使用HTML标签
第二:使用缓存技术,长时间不用更新的就不用每次查询
第三:使用延迟加载技术,在网页尾部的判断浏览器的滚动条位置,加载,这样一个网站就区分成几块了。
第四:使用的的图片可需要做延迟加载或者异步加载。
第五:其他。这个数据库设计,服务器带宽,后台编码造成的。

------解决方案--------------------
异步一下,定下列表执行顺序,并且通过AJAX异步可以提高客户体验,

如30个列表,提供一个基类方法,参数为列表号。当第一个执行完再执行第二个。

列表不适用服务器控件,最好是纯HTML。或者后台自己拼接好成HTML字符串,然后直接屏幕输出。
 
------解决方案--------------------
首先要做数据库优化。
排行榜什么的一概单独建表,建查询更新存储过程,并添加作业指定一定时间更新,比如一小时一次。

这么干完,你的查询速度就已经可以飞快了。

再可以进一步优化webserver端的程序。比如缓存、异步、静态化、shtml什么的。
------解决方案--------------------
个人测试过repeater 和 table 时间差不多 几乎可以忽略不计 可以使用 压缩缓存软件 尝试一下
------解决方案--------------------
几分钟也太夸张了,默认的脚本超时也不过90秒