`

Sybase数据库中的高效分页方法

阅读更多
前段时间发博,Sybase使用rank() over(order by id)ret的方式分页,这种方式在数据量达到40W条的时候很耗时,大概5S的时间,当达到千万条的时候,查询一次大概是1分40秒,这就远远不符合项目要求了

对于这种方式,瓶颈可能是出在排序部分,当排序的唯一字段是varchar类型的时候更加明显


现在有种新的方式,就是利用rowid。
如:select a.*  from table_name a where rowid(a) >=1 and  rowid(a)<11

经测试,在同一张表中,1500W的数据量,每次查询时间都在200ms以内
但是这个函数只能用在真实的数据表,无法在临时表中用到;

这个rowid,是在数据插入的时候,数据库给每行数据分配的物理唯一标识,如果要页面中要用到动态排序,这个是不支持的。
3
1
分享到:
评论
5 楼 yalishizhude 2013-06-04  
pkptzx 写道
yalishizhude 写道
楼主你太给力了,比top好用多了,很快

???为什么我用不了?提示没有rowid啊...额...

你的是sybase IQ吗?记住一定要给表 取个别名
4 楼 pkptzx 2013-01-08  
yalishizhude 写道
楼主你太给力了,比top好用多了,很快

???为什么我用不了?提示没有rowid啊...额...
3 楼 yalishizhude 2012-06-28  
楼主你太给力了,比top好用多了,很快
2 楼 无双Rama 2011-07-01  
chenshao8818 写道
不支持排序的分页,有意义吗?

对于某些应用来说有意义,比如我的数据插入的时候就是排好序的
还有就是用户只是查询,并没有想依据某个字段来排序,那这个就刚刚好
1 楼 chenshao8818 2011-06-28  
不支持排序的分页,有意义吗?

相关推荐

    sybase 实现分页的存储过程

    本文详细介绍了如何在 Sybase 数据库中通过编写存储过程实现分页功能。这种方法不仅可以提高查询效率,还可以减少网络传输的数据量,从而提升用户体验。需要注意的是,在实际应用中还需要考虑更多细节问题,比如错误...

    sybase分页代码使用jdbc分页速度快适合大数据

    本篇文章将详细讲解如何利用JDBC在Sybase数据库中进行高效的分页查询。 首先,理解分页的基本概念。分页是将大结果集分割成较小的部分,每次只返回一部分数据,通常由页码和每页记录数来定义。在Sybase中,可以使用...

    sybase通用分页模块

    标题中的“sybase通用分页模块”指的是在Sybase数据库管理系统中实现的一种功能,用于处理大量数据时的分页查询。这种模块对于提高系统性能、优化用户体验至关重要,尤其是在数据分析、报表展示或者网页应用中,用户...

    sybase海量数据分页瞬间完成2.0

    首先,"sybase海量数据分页瞬间完成2.0"表明这是一个针对Sybase数据库的分页性能优化升级。在前一版本中可能存在的问题包括连接未正确释放、小数据量查询速度慢、缓存未有效清除以及重复缓存。这些问题会直接影响...

    php 操作数据库adodb类

    在PHP开发中,数据库操作是不可或缺的一部分,而ADODB(Active Record Database Abstraction Layer)类库则为PHP提供了一个强大的数据库抽象层,使得开发者能够轻松地在多种数据库系统间进行切换,包括MySQL、Oracle...

    sybase sqlanywhere5.0

    SQL Anywhere 5.0是由Sybase公司开发的一款轻量级数据库管理系统,它以其强大的移动和嵌入式数据库解决方案而闻名。在中石油等大型企业中,SQL Anywhere常用于管理各种关键业务数据,确保在分布式环境下的高效运行和...

    BluePage通用分页类助开发者提高开发效率1

    无论是数据库查询结果的分页展示,还是长篇文章的分页阅读,都需要一个高效、灵活的分页解决方案。BluePage正是为了满足这一需求而设计的通用分页类库。 #### 二、设计原则 1. **分页与SQL无关**:分页逻辑应该...

    asp.net利用存储过程分页代码

    总之,ASP.NET中利用存储过程进行分页是一种常用且高效的实践,它允许你在数据库层面执行复杂的查询逻辑,提高应用程序的性能和响应速度。理解和掌握这种方法,对任何ASP.NET开发者来说都是非常有价值的。

    使用Jtds.jar连接数据库的简单例子

    首先,Jtds.jar是一款开源的JDBC驱动,它提供了一个高效、功能丰富的接口来与SQL Server和Sybase数据库通信。相比于官方的Microsoft JDBC驱动,Jtds.jar具有更小的体积和更快的执行速度,同时在某些特定场景下可能...

    Sybase IQ 15.4参考手册(性能调优)

    缓冲区高速缓存的大小应根据数据库的实际工作负载来设置,以确保数据能够高效地在内存中处理,减少对磁盘I/O的需求。通过优化内存使用,可以显著提升Sybase IQ 15.4的查询响应时间。 Sybase IQ 15.4支持特定平台的...

    jConnect-6_0

    通过使用jConnect-6_0,开发者可以轻松地在Java应用中实现对Sybase数据库的访问,进行数据的增删改查操作,构建高效的数据驱动型应用。同时,其强大的特性和稳定性使得它成为企业级Java开发的可靠选择。

    sybase性能调休指南

    《Sybase性能调优指南》旨在帮助用户理解如何优化Sybase数据库的性能,从而提升系统的整体效率。 #### 二、文档基本信息 - **文档ID**:DC00953-01-1520-01 - **版本**:15.2 - **最后修订日期**:2010年4月 - **...

    sybase开发参考.pdf

    综上所述,本Sybase ASE开发参考为开发者提供了TSQL、ESQL/C和JDBC三个方面的优化指导,旨在帮助用户提升数据库性能,实现高效并发处理,并解决在开发过程中可能遇到的问题。通过遵循这些最佳实践,可以显著改善应用...

    Unidac-10Pro-For-Delphi10.3-12 UniDAC数据库控件直装版

    Unidac-10Pro-For-Delphi10.3-12 是...综上所述,Unidac-10Pro-For-Delphi10.3-12 是 Delphi 开发者用于数据库访问的强力工具,无论是在小型项目还是大型企业级应用中,都能发挥其优势,提供高效、稳定的数据连接方案。

    运用JAVA进行数据库应用开发培训

    常见的数据库产品有Oracle、SQL Server、DB2、Sybase、Informix、MySQL、hsqldb、InterBase等,以及更贴近个人用户级别的Foxpro、Access和Excel。 数据库对象是数据库中的基本元素,如表(table)、字段(column)...

    PHP Sybase CT driver enhancements-开源

    总的来说,这个开源项目为PHP与Sybase数据库的交互带来了诸多便利和性能提升,对于开发高效、安全的PHP应用具有重要意义。通过深入理解和利用这些增强功能,开发者可以更好地优化数据库操作,提高Web应用的整体性能...

    微软SQL2005精编培训

    - 分页查询是常见的应用场景之一,通过存储过程可以更高效地实现分页查询。 - 示例: ```sql CREATE PROCEDURE GetProductsByPage @PageIndex int, @PageSize int AS BEGIN SELECT * FROM (SELECT ROW_...

    动态报表系统.zip

    动态报表系统是一个基于PowerBuilder...通过学习和研究这个“动态报表系统.zip”中的源码,开发者不仅能掌握PowerBuilder的基本使用,还能深入理解如何利用PB构建高效、灵活的报表系统,提升自身的数据库应用开发能力。

    基于PHP的校园信息管理系统的设计与实现

    3. 分页技术在网络数据库中的实现: - 随着数据库信息的增长,分页技术变得尤为重要。它允许将查询结果分批显示在多个页面上,避免一次性加载大量数据导致页面加载慢或浏览器内存不足的问题。 - 分页通常有两种...

Global site tag (gtag.js) - Google Analytics