之前在网上看到有人问 Derby SQL 分页实现的问题,网上有人给出这样的解决方案,SQL 如下:
SELECT * FROM (
SELECT ROW_NUMBER() OVER() AS rownum, myLargeTable.*
FROM myLargeTable
)
AS tmp
WHERE rownum > 200000 AND rownum <= 200005;
其实,这样的分页查询,性能不理想,我试过在 300W 数据量中采用这种分页方式,需要 20~30秒之久;
其实 Derby 10.6 以上版本有更好的分页支持,直接给出 SQL 实现如下:
SELECT * FROM YOUR_TABLE
OFFSET ? ROWS
FETCH NEXT ? ROWS ONLY;
稍微解释一下:
OFFSET ? ROWS - 是指跳过 ? 条记录
FETCH NEXT ? ROWS ONLY - 是指抓取下一个 ? 条记录
这样分页性能可以提升至毫秒级速度,
希望对遇到同样需求的朋友有帮助···
其实 Derby 是很棒的纯 Java 实现的开源数据库,据说现在最大能支持到 700GB 的数据量,而且正在向 TB 级别进发···
分享到:
相关推荐
此插件通过在SQL语句上添加特定的分页逻辑来实现分页功能,从而简化了开发过程中的分页操作。 #### 二、PageHelper 使用步骤 ##### 1. 下载并安装PageHelper插件 首先访问官方文档或GitHub仓库下载最新版本的...
Mybatis PageHelper分页插件是一个应用于Mybatis中的分页插件系统。 如果你也在用Mybatis,建议尝试该分页插件,这一定是一个非常方便使用的分页插件。...12、Derby 13、Phoenix 14、达梦数据库 15、阿里云PPAS
MySQL JDBC支持事务处理、预编译的SQL语句(PreparedStatement)以及结果集的滚动和分页。 2. **Oracle JDBC**: Oracle数据库是企业级的数据库系统,提供了强大的功能和高度的可扩展性。Oracle JDBC驱动分为 Thin...
Sqlbean(Sql生成助手) ...数据库:Mysql,MariaDB,Oracle,Sqlserver2008+,PostgreSQL,DB2,Derby,Sqlite,HSQL,H2 Sqlbean For Android请移步这里:backhand_index_pointing_right: , 简单上手 1:引入Maven依赖
MyBatis分页-PageHelper如果您使用的是MyBatis,建议尝试使用此分页插件。...Informix H2 SqlServer2012 Derby Phoenix达梦数据库(dm)阿里云PPAS数据库神通数据库牛群数据库这里的数据库列表没有及时更新
- **举例**:关系型数据库包括 Oracle、MySQL、SQL Server、DB2、HSQLDB、Derby 等。 ##### 4. 关系简介 - **定义**:关系型数据库采用关系数学模型来表示数据,通常以二维表形式展示。 - **要素**:关系模型由关系...
5. **数据库文件**:项目可能包含一个或多个.sql文件,这些文件用于在Derby数据库中创建表结构、初始化数据,或者执行数据操作。数据库设计是系统核心,包含了书籍类别、书籍详情、用户信息、订单记录等相关表。 6....
4.2.2连接到MyEcipse Derby数据库 70 4.2.3切换到MyEclipse Database Explorer透视图 70 4.2.4打开数据库连接 71 4.2.5关闭数据库连接 72 4.2.6浏览数据库结构 72 4.2.7编辑和执行SQL代码段 73 4.2.8生成实体关系...
目前工具在Oracle 11g、Microsoft SQLServer 2012、MySQL 5.x、DB2 10.x、Sybase 15.x、PostgreSQL 9.x、Derby 10.x上通过了测试。 2、通过生成器创建BO类及DAO层代码 这是一个配合dbking的代码...