海量数据列表翻页解决方案

本站E路风机网(www.mmfj.com) 是风机行业的电子商务平台,单企业数量已经超过了1千万,达到了1500万左右,所以如何处理企业列表页的翻页问题一直是一个比较棘手的问题。此问题不仅关系到优化及用户的体验,更有可能因为程序的不当,导致整个网站被拖累到卡死。

那么我在这里介绍下处理的步骤及方法,虽然本站是用asp.net+mssql 开发的,但是提供的思路还是适用于别的开发平台。

本站的企业或者产品都采用的是二级分类,所以所有的数据都是在各个分类下面的,所以如何在每个分类上建立索引就显的尤其重要,数据库索引又分为聚集索引和分聚集索引,需要的朋友可以网上查找到对应的概念是什么,及创建的原则等。

数据库查询条件字段的设立是关系上面的索引效果的一个因素,因为你可能由于查询条件的,导致你的每次查询事实上没有用到数据库索引,还是进行了全表扫描,那么就得不偿失了。

排序字段咋办不起眼,其实并不比查询条件的影响小。比如文章列表,你以时间排序肯定要比自增量的ID排序慢的多。如果没有办法必须采用时间,可以把时间转化成整数形式,这样不仅起到了排序的作用,效率上也会比较好。

下面就是不得不提到的存储过程。如果用mssql,那么存储过程对于查询的帮助是很大的,当然还要取决你的代码写的合理。

综上几步是一般的采用方法,但是由于本站的数据分配的不规则性,导致某些分类下面数据可能上百万,还有条件的多样性,本站企业类别除了区别大类小类,还有地区分类,产品也有地区及时间的选择,所以本站最后采用了临时表的方法,及每个可能用到的分类提前去除部分数据到临时表,然后列表页面调用的就是临时表的数据,当然了前面的索引等方法在临时表中还是适用的,这里提醒下,存储过程结合row_number函数来实现,效率比较好。

采用临时表主要要解决2大问题,第一是数据的更新,第二是合理的做好网站的内部链接布局。

数据更新上由于我们采用的临时表只是记录了总表的增量ID,及类别等数据,其他的例如电话、地址、联系人等我们没有采用,这样一方面解决了更新问题,仍一方面由于采用IN 查询,在效率上也能兼顾。

  由于临时表的数据量表较少,导致列表页不全,导致有些数据抓取不到,这种情况下我们要即合理的分配内部链接,可能条件下,把数据平均分类,例如本站的企业介绍信息页面,右侧就有相关的企业出现,不仅合理分配了内链,也给用户查看相关信息多了选择。

至此本站的企业、产品列表处理完成,翻页速度快多了,如果你的网站也在为此类问题烦恼,可以参考本文的处理方法,或者进入网站感受下本站的企业大全页面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值