`
wenlongsust
  • 浏览: 75985 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

Oracle数据库order by排序查询分页比不分页还慢问题解决办法

 
阅读更多

简单说下问题,有一个JDBC的查询SQL,分页查询语句中有一个排序order by create_time,理论上来说JDBC查询已经是比较底层的技术了,没有像Hibernate、MyBatis那样又对JDBC进行了封装,效率肯定是最好的,可谁想,3w多条数据,竟然慢的要死,经常抛出超时异常


遇到问题之后,首先在网上搜罗资料

关于Oracle排序的:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html

也找到一个排序分页很慢的帖子:http://www.itpub.net/thread-1179246-1-1.html,好几年前的了,最终也没结贴


网上提到的各种解决办法,要么先分析SQL执行效率,要么建索引,但是根据经验来判断,一共就3w来条数据,怎么就会慢呢


仔细看了数据库中的数据,发现一个明显的问题,排序的字段create_time竟然有2w多条数据都是null值,终于找到原因了,没错,原因就是因为排序字段是相同的null值,分页之后查询就会很慢


找到原因,解决办法就简单了,把排序字段的null值赋值为流水时间即可~

分享到:
评论

相关推荐

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    在Oracle数据库中,排序操作是数据库查询中非常关键的一部分,特别是在数据分析、报表生成以及用户界面展示时。本文将深入探讨`ORDER BY`子句在Oracle中的排序机制,以及查询时根据`IN`条件顺序输出的方法。 首先,...

    解决Oracle分页查询中排序与效率问题

    ### 解决Oracle分页查询中排序与效率问题 在Oracle数据库中进行分页查询时,经常会出现性能瓶颈,尤其是在处理大数据量的情况下。本篇文章将详细探讨如何优化Oracle分页查询中的排序与效率问题。 #### 一、理解...

    如何解决Oracle分页查询中排序与效率问题

    本文主要解决 Oracle 分页查询中排序与效率问题,通过实践和分析,提供了两种解决方案,并对比了两种方法的优缺点。 知识点 1: Oracle 分页查询的基本概念 Oracle 分页查询是指在查询结果中,通过限制行数来实现...

    TERADATA、ORACLE数据库分页

    本篇将深入探讨TERADATA和ORACLE这两种广泛应用的关系型数据库在实现分页查询时的方法。 TERADATA是一个并行数据库系统,以其高效的大数据处理能力著称。在TERADATA中,进行分页查询主要通过使用`TOP`或`LIMIT`...

    Oracle的SQL分页实践

    在Oracle数据库中,SQL分页是一种非常...总的来说,Oracle的SQL分页实践涉及到数据库查询优化、索引策略以及Java应用程序中的数据访问层设计。理解并熟练运用这些方法,能帮助开发者构建高效、响应迅速的数据驱动应用。

    Oracle数据库中分页查询介绍

    在Oracle数据库中,分页查询是一项关键功能,尤其在构建高效的数据检索系统,如自定义搜索引擎时,确保用户能够分批浏览大量数据。由于Web应用的无状态特性,每个请求都是独立的,维持数据库游标以供后续请求是低效...

    oracle数据库表的分页

    为了解决这个问题,Oracle提供了一种更高效的方法——`ROW_NUMBER()`函数,结合`PARTITION BY`和`ORDER BY`,可以在子查询中就完成排序和分页,减少数据的处理量。 ```sql WITH cte AS ( SELECT t.*, ROW_NUMBER()...

    oracle数据库级分页(java)

    为了解决这个问题,Oracle引入了RANK(), DENSE_RANK()和ROW_NUMBER()等分析函数,它们可以在排序后分配行号,从而实现分页。例如,使用ROW_NUMBER(): ```sql SELECT * FROM ( SELECT t.*, ROW_NUMBER() OVER ...

    Oracle通用数据库存储过程代码--高效分页存储过程

    ### Oracle通用数据库存储过程代码——高效分页存储过程解析 ...以上存储过程的实现不仅提供了一个高效、灵活的分页查询方案,还通过参数化的形式增强了其可复用性和扩展性,非常适合在Oracle数据库环境中应用。

    结合oracle数据库的分页排序jqgrid表格.doc

    在本文中,我们将探讨如何结合Oracle数据库实现分页和排序功能,特别是在使用jqGrid表格的场景下。jqGrid是一个强大的JavaScript组件,用于创建交互式的数据网格。在Java Web应用中,我们通常通过Servlet来处理请求...

    Oracle&JSP分页和Oracle分页

    本文将详细讲解如何在Oracle数据库中进行分页查询,并结合JSP实现前端展示。 首先,了解Oracle数据库中的分页。Oracle提供了一种名为ROWNUM的伪列,它会为每一行返回一个唯一的数字,从1开始递增。通过ROWNUM,我们...

    使用Oracle数据库时的Web分页方法

    在使用Oracle数据库构建Web应用程序时,分页是提高用户体验的关键技术。这主要涉及到从大量数据中筛选出用户关心的部分,并以合适的数量展示在每个页面上。分页不仅可以优化页面加载速度,还可以帮助用户更容易地...

    Oracle的分页查询语句 Oracle分页的存储过程

    Oracle数据库在处理大数据量查询时,分页查询是一种常见的优化策略,目的是限制返回结果集的大小,加快查询速度,提供更好的用户体验。本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询...

    jsp+jdbc_oracle增删改查过滤分页排序

    本教程"jsp+jdbc_oracle增删改查过滤分页排序"旨在帮助初学者掌握如何利用JSP与Oracle数据库进行数据操作,包括增、删、改、查以及查询结果的过滤、分页和排序。 首先,我们需要理解JDBC(Java Database ...

    oracle的分页查询

    本文将讲解 Oracle 中的分页查询,包括使用 ROWNUM 伪列和 ORDER BY 子句对查询结果进行排序和分页。 一、使用 ROWNUM 伪列实现分页查询 在 Oracle 中,ROWNUP 伪列是一个特殊的列,可以用来实现分页查询。例如,...

    用于oracle,mysql,sqlserver,数据库分页联合查询

    本话题主要聚焦于如何在Oracle、MySQL和SQL Server这三种主流关系型数据库中实现分页联合查询。 首先,我们来看Oracle数据库的分页查询。Oracle使用ROWNUM关键字来实现分页。例如,如果我们想获取第10到20条记录,...

    使用简单的SQL语句实现的Oracle数据库分页技术

    本文将介绍一种利用简单SQL语句来实现Oracle数据库分页的方法,这种方法不依赖于复杂的PL/SQL过程或函数,而是通过SQL查询的巧妙设计来达到目的。 ### 分页公式的原理 在Oracle中,分页查询通常涉及到对结果集进行...

    数据库分页查询语句

    ### 数据库分页查询语句 #### 概述 在处理大量数据时,为了提高用户体验并减轻服务器压力,我们通常采用分页的方式展示数据。不同的数据库管理系统(DBMS)提供了各自的方法来实现分页功能。本文将详细介绍Oracle...

    sqlserver,mysql,oracle三种数据库的分页查询

    Oracle使用的是`ROWNUM`伪列,但是它不能直接与`ORDER BY`一起使用,所以我们需要结合子查询。获取第一页的方式如下: ```sql SELECT * FROM ( SELECT t.*, ROWNUM AS rn FROM TableName t ORDER BY SomeColumn ...

    各数据库分页语法支持

    不同的数据库系统提供了不同的分页机制,本文将详细介绍几种常见数据库(Oracle、DB2、SQL Server、PostgreSQL)的分页语法支持,并给出具体的示例。 #### Oracle 数据库分页 Oracle 支持多种分页方式,包括三层...

Global site tag (gtag.js) - Google Analytics