`
传说の黄花菜
  • 浏览: 201882 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

百万数据分页技术

阅读更多

用java程序查询1百万的数据库,如何加快分页跳转的速度?

一般有常用几种基本的方法可以借鉴:

第一:

hibernate中的oracle分页查询原代码:
StringBuffer pagingSelect = new StringBuffer(100);
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
pagingSelect.append(" ) row_ where rownum <= ?) where rownum_ > ?");

其实就是
select * from ( select row_.*, rownum rownum_ from ( 你的查询语句 )
row_ where rownum <= 结束行) where rownum_ > 开始行

 

第二:

这个要看 用哪个字段排序了,如果按照ID之类的,即是主键聚集索引,下面这个思想的分页很快,百万级别,分到后面100W条左右600毫秒,解决千万级别估计没啥 问题。

先取出第N条的ID,例如 select top 1000000 @ID = ID;
上句将占99%的查询成本。
然 后select top 10 * where ID >前面取出的ID即可

第三:

1. 总共只需要一个查询总页数: select count(proid) from sys.tblproduct,而不是每翻页就去查询一次

2. SQL语句中只需要一次排序就可以了,不需要多次排序
select productname,proid,addtime,prodetail from
(select productname,proid,addtime,prodetail, rownum as rid
from (select productname,proid,addtime,prodetail from sys.tblproduct order by proid)
where rownum <= &intPage * &intPageSize
) where rid >= (&intPage-1) * &intPageSize+1

第四:

采用orcale的数据分区功能,分区后速度提升很明显。
另外一个关键是要合理的索引设置
硬件的配置也要跟上

第 五:

用分析函数row_number(order by XX)会比较快,比rownum的性能好一些
hibernate不用的 主要原因,我猜测是解析起来有点麻烦,必须在查询语句中间插一句,容易错。

问题的另一个关键是,有必要在任何条件下给客户看全部数据么? 客户关心么?
和客户交流,看他们能接受什么样的默认的查询条件限制,这来得实际多了。

分享到:
评论

相关推荐

    PostgreSQL数据分页技术概述.pptx

    PostgreSQL 数据分页技术概述 本文总结了 PostgreSQL 数据分页技术的概述,介绍了在大数据量时如何高效地使用模糊查询和数据分页浏览,并根据后台设计降低用户界面的使用复杂程度。 一、数据分页浏览技术 数据...

    SQL Server数据层数据分页技术

    数据层数据分页技术 用于数据分页的SQL语句方法,文件为SQL文件,可在SQL Server环境下打开,资料为Microsoft Webcaster上的讲座听课后的整理结果

    ASP百万数据分页类.zip

    在处理大量数据时,如百万级别的记录,分页技术是必不可少的,它能够提高用户体验,避免一次性加载所有数据导致的性能问题和浏览器负担。这个"ASP百万数据分页类"就是针对这种情况设计的,其目的是高效、便捷地实现...

    java 数据分页显示

    本篇将深入探讨Java实现数据分页显示的核心技术和策略。 首先,我们要了解数据分页的基本概念。分页是将一个大型数据集分割成多个小部分,每个部分称为一页,用户可以逐页浏览,而不是一次性加载所有数据。在Web...

    分页显示数据技术

    "hibernate分页.txt"则专门讲解了如何利用Hibernate进行数据分页。 总的来说,理解并掌握分页显示数据技术,对提升Web应用性能和用户体验有着显著的作用。开发者需要根据实际需求和项目特点,选择合适的分页实现...

    asp十万级数据分页方法 长文章分页方法

    在ASP(Active Server Pages)开发中,处理大量数据时,分页...记住,分页不仅仅是技术问题,更是用户体验的设计,合理的分页策略能让用户更愉快地浏览内容。在实际开发中,应根据项目需求和资源限制灵活应用这些方法。

    数据分页的代码

    在IT行业中,数据分页是一种常见的技术,尤其是在处理大量数据时,它能够有效地提高用户体验,减少网络传输的数据量,使得用户能够逐步加载和查看信息。本篇将详细讲解数据分页的相关知识点,以及如何实现一个分页...

    千万级数据分页查询存储过程SQLServer

    总的来说,利用SQL Server的存储过程进行千万级数据分页查询,结合合理的索引策略和优化技巧,能够有效提升查询性能,降低系统负载,为用户提供流畅的浏览体验。请参考“分页.txt”和“使用方法.txt”文件,了解更多...

    .Net数据分页系统

    在.NET开发环境中,数据分页是一项常见的需求,特别是在构建Web应用程序时,为了提高用户体验和页面加载速度,通常需要对大量数据进行分页显示。本文将深入探讨如何在.NET中实现数据分页系统,包括基本原理、关键...

    ASP.NET数据分页技术

    ASP.NET数据分页技术是Web开发中常用的一种优化性能的方法,尤其在处理大量数据时,分页能够提高页面加载速度并提升用户体验。在ASP.NET框架中,数据分页主要应用于GridView、ListView等控件,通过与后端数据库交互...

    大工论文 基于Web的分页技术的研究与实现.docx

    当我们在浏览网页时,不可避免地会碰到有的数据不能在一个页面完全显示出来的问题,这个时候就需要一种技术来使得数据分成若干页来显示,分页技术就应运而生。 本文主要探讨了一种基于Web的分页技术的研究与实现,...

    datalist分页技术及实现

    在网页开发中,数据列表(Datalist)的分页技术是提高用户体验和优化网站性能的重要手段。当数据量庞大时,一次性加载所有数据不仅会消耗大量系统资源,还可能导致页面加载缓慢,甚至无法正常显示。因此,使用分页...

    实现千万级数据的分页显示

    本节将从以下几个方面详细阐述实现千万级数据分页的关键技术点: 1. **SQL查询优化**:通过优化SQL语句来提高查询效率。 2. **动态生成SQL**:根据不同的参数动态生成SQL语句,实现灵活的分页功能。 3. **存储过程...

    分页显示大量数据

    #### 知识点一:分页技术原理与应用背景 在软件开发特别是Web应用开发过程中,经常会遇到需要处理大量数据的情况。例如,在一个包含成千上万条记录的数据库表中进行查询时,一次性加载所有数据不仅会消耗大量的...

    ajax大量数据分页

    在网页开发中,数据分页是一项非常重要的功能,特别是在处理大量数据时,它能提高页面加载速度,优化用户体验。本文将深入探讨如何使用jQuery和AJAX实现高效的数据分页,结合给定的"ajax大量数据分页"标题和描述,...

    struts2.0实现数据分页

    因此,数据分页技术应运而生。 **Struts2.0 实现数据分页的原理** 在Struts2中,数据分页通常通过Action类和视图(JSP或Freemarker)配合完成。Action类负责从数据库中获取指定页码的数据,并将这些数据传递给视图...

    JS数据分页

    为了解决这个问题,我们可以采用JS数据分页技术,它允许用户按需加载数据,提高用户体验并减轻服务器压力。 **一、JS分页原理** JS数据分页的基本思想是:前端根据用户的操作(如点击“下一页”按钮)动态请求...

    struts2.0实现的数据分页实现及实现分页步骤

    数据分页是Web应用中常见的需求,特别是在处理大量数据时,为了提高用户体验和性能,分页可以帮助用户逐步加载和查看数据,而不是一次性加载所有内容。 实现Struts2.0中的数据分页主要涉及以下几个步骤: 1. **...

    Jquery数据分页

    jQuery数据分页技术使得在Web应用中处理大量数据变得更加高效和便捷。通过选择合适的jQuery分页插件,结合后端API,你可以轻松实现定制化的数据分页功能,为用户提供流畅的浏览体验。记住,始终关注性能优化和用户...

    jQuery动态表格数据分页插件

    本文将深入探讨“jQuery动态表格数据分页插件”,这款插件能够帮助开发者轻松实现动态表格数据的分页显示,同时支持自定义设置分页参数,以提高网页的性能和用户交互性。 首先,jQuery是一个广泛使用的JavaScript库...

Global site tag (gtag.js) - Google Analytics