zoukankan      html  css  js  c++  java
  • 千万级数据的分页

    问题 

     

    想说这个问题,来源来自于CSDN论坛的一个帖子:《sqlserver2005,1690万的数据量怎么快速分页查询

    在之前也有很多人问类似这样的问题,回复这样的问题,我们一般会从索引,水平分区,垂直分区和硬件的升级等方面考虑。

     分析

     

    对于千万级数据的分页,要求在秒级内响应,解决方案除了刚列的几个方面考虑,这里说一个非常重要的考虑(评估)是,现实意义。

    拿CSDN论坛的那1690万数据来说,我按每页显示200行数据,需要84500页。从站在用户(使用者)角度看,对于查看1万页以后的数据的概率是非常小。假设我们是使用者,让我们一页一页的点,点到100页都够郁闷的了,更何况是1万页后的数据了。这里从现实意义角度考虑,1万页以后的现实意义有多大?

     解决方案

     

     根据从现实意义角度分析,对千万级数据的分页,我们呈现给用户的,首先考虑的是用户最关心的,对用户来最有价值的信息。对于过期,没意义的数据需要考虑不呈现给用户。因为呈现没意义的数据,对用户来说多余,对后台服务器来说负荷,严重的可能会导致服务器瘫痪。

     在大型网站都有这方面的考虑,控制呈现的总页数,下面我们列出几个网站采用控制总页数的方案:

    搜狗最多显示100页:  

     

     百度最多显示76页,其实你点到76页,显示第75页,感觉这位置有问题,而且相关结果就是1亿个。这里有玩文字的,使用了一个“约”,云里雾里的,蒙人呀。

    很多时候你稍注意下,都是返回1亿个,O(∩_∩)O~。 

     

    测试Google,大概分页最大页范围是71-79页,它好一点就是没像百度笼统用“1亿”。

     

     淘宝的宝贝搜索最大页是200页

     

    小结

     

     从前边的问题到分析,及解决方案,我们可以了解对千万级数据分页的处理,最重要的一个评估方面就是,现实意义,需要多站在使用者角度分析问题,参考成功案例,从而找到可行的解决方案。

    Oracle

     
     
    posted @ 2012-03-22 02:29 OK_008 阅读(3241) | 评论 (33) 编辑
     
    摘要: 今天学习一下Oracle用户的建立。阅读全文
    posted @ 2007-12-03 10:54 OK_008 阅读(180) | 评论 (0) 编辑
     
    摘要: 今天一朋友问在Linux上怎么样安装Oracle10g.网上很多说明,这里找到一老外写的说明非常详细。这里记录一下,下次安装的时候备用。题外话:后来根据这文章找到http://www.puschitz.com,网站,其实里面还有Oracle9i安装在Linux上的说明写的也非常的详细。前不久也找到一篇老外写的Oracle9i安装在CentOS上的介绍,也是说得详细,比起我们的中文说明好多了。 
    阅读全文
    posted @ 2007-11-22 17:24 OK_008 阅读(3419) | 评论 (0) 编辑
  • 相关阅读:
    面试系列三 如何保证消息不被重复消费
    面试系列二 消息队列的高可用性
    面试系列一 消息队列
    springcloud系列15 bus的使用
    C++ 参数传值 与 传引用
    [转] 写给立志做码农的大学生
    Python format 格式化函数
    [3] TensorFlow 深层神经网络
    [2] TensorFlow 向前传播算法(forward-propagation)与反向传播算法(back-propagation)
    Python 闭包
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2411863.html
Copyright © 2011-2022 走看看