10w以上数据的效率比普通分页 快4-5倍
PROCEDURE p_pageList (m_pageNo int , m_perPageCnt int , m_indexcolumn varchar(100), m_column varchar(1000) , m_table varchar(1000) , m_condition varchar(1000), m_orderBy varchar(200) , inout m_totalPageCnt int)
BEGIN
IF m_totalPageCnt >=1 THEN
SET @sqlCnt = CONCAT('select count(1) into @pageCnt from ',m_table); -- è¿æ¡è¯å¥å¾å
³é®ï¼ç¨æ¥å¾å°æ»æ°å¼
IF m_condition IS NOT NULL AND m_condition <> '' THEN
SET @sqlCnt = CONCAT(@sqlCnt,' where ',m_condition);
END IF;
PREPARE s_cnt from @sqlCnt;
EXECUTE s_cnt;
DEALLOCATE PREPARE s_cnt;
SET m_totalPageCnt = @pageCnt;
else
SET @pageCnt = 1; -- æ»è®°å½æ°
SET @limitStart = (m_pageNo - 1)*m_perPageCnt;
SET @limitEnd = m_perPageCnt;
SET @sql = CONCAT('select ',m_column,' from ',m_table); -- 主æ¥è¯¢
SET @wsql = CONCAT('select ',m_indexcolumn,' from ',m_table); -- åæ¥è¯¢
IF m_condition IS NOT NULL AND m_condition <> '' THEN
SET @sql = CONCAT(@sql,' where ',m_condition);
SET @wsql = CONCAT(@wsql,' where ',m_condition);
END IF;
IF @limitStart<1000 THEN
IF m_orderBy IS NOT NULL AND m_orderBy <> '' THEN
SET @sql = CONCAT(@sql,' order by ',m_orderBy);
END IF;
SET @sql = CONCAT(@sql, ' limit ', @limitStart, ',', @limitEnd);
Else
IF m_orderBy IS NOT NULL AND m_orderBy <> '' THEN
SET @wsql = CONCAT(@wsql,' order by ',m_orderBy);
IF m_condition IS NOT NULL AND m_condition <> '' THEN
SET @sql = CONCAT(@sql,' and ', m_indexcolumn ,'>=(',@wsql, ' limit ', @limitStart,',1) ' ,' order by ', m_orderBy, ' limit ',@limitEnd);
else
SET @sql = CONCAT(@sql,' where ', m_indexcolumn ,'>=(',@wsql, ' limit ', @limitStart,',1) ' , ' order by ',m_orderBy, ' limit ',@limitEnd);
END IF;
Else
IF m_condition IS NOT NULL AND m_condition <> '' THEN
SET @sql = CONCAT(@sql,' and ', m_indexcolumn ,'>=(',@wsql, ' limit ', @limitStart,',1) ' , ' limit ',@limitEnd);
else
SET @sql = CONCAT(@sql,' where ', m_indexcolumn ,'>=(',@wsql, ' limit ', @limitStart,',1) ' , ' limit ',@limitEnd);
END IF;
END IF;
END IF;
PREPARE record from @sql;
EXECUTE record;
DEALLOCATE PREPARE record;
/*
select @sql;
*/
END IF;
END
分享到:
相关推荐
php 使用ADODB操作MYSQL ,存取,生成html表格,分页,出错处理
实例231 文本文件的分页读取 298 4.4 文件操作 300 实例232 文件操作汇总 300 实例233 目录、文件定位器 302 实例234 改头换面 303 实例235 文件属性分析 304 实例236 文件类型检测 306 实例237 判断文件的权限 308 ...
实例231 文本文件的分页读取 298 4.4 文件操作 300 实例232 文件操作汇总 300 实例233 目录、文件定位器 302 实例234 改头换面 303 实例235 文件属性分析 304 实例236 文件类型检测 306 实例237 判断文件的权限 308 ...
PHP数据的存取与传递 Session、cookie在实际项目中的应用 Session、cookie的定义以及使用方法 Session、cookie的记录方式 处理Session、cookie的函数 复杂样例(13个) 5 PHP文件操作 文件操作在实际项目中的应用 ...
│ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类表实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql...
│ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类表实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql │ 基本方法.sql ...
2.1.4 MySQL的安装及使用简介 2.2 使用JDBC连接数据库 2.2.1 SQLJ基本知识 2.2.2 用PL/SQL和Java建立应用程序的基本知识 2.2.3 PL/SQL和Java的特性 2.2.4 PL/SQL和Java的实际开发应用实例 2.2.5 Java连接各类...
15.3.7 结果集的分页 248 15.3.8 用户动态添加记录 249 15.3.9 用户动态更新记录 251 15.3.10 用户动态删除记录 253 15.4 使用PHP获取MySQL数据库的信息 255 15.4.1 获取数据库的信息 255 15.4.2 获取表的信息 256 ...
软件及安装说明 <br> 本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个...
软件及安装说明 <br> 本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个...
软件及安装说明 <br> 本系统是一个Struts+Spring+Hibernate组合开发的博客系统,本系统使用分层体系架构,综合运用struts+spring+hibernate 三大主流开源框架构建,稳定高效、功能强大、易于维护。系统分为四个...
支持各种数据库的分页功能(包括:Mysql/Oracle/SqlServer/Sysbase/PostgreSql/FireBird/H2等) 支持数据库序列功能 组合查询功能,无需动态拼接查询条件,提高开发效率 透明防止SQL注入 表字段查询透明脱敏 NOSQL...
EasyJForum 采用了统一的数据适配层,因此可以很容易地实现对不同数据库的存取和扩展,同时又兼顾不同数据库的特点和性能。 此外,通过良好的程序架构和 CSS 技术,EasyJForum 实现了对多种界面风格的支持,使用者...
EasyJForum 采用了统一的数据适配层,因此可以很容易地实现对不同数据库的存取和扩展,同时又兼顾不同数据库的特点和性能。 此外,通过良好的程序架构和 CSS 技术,EasyJForum 实现了对多种界面风格的支持,使用者...
EasyJForum 采用了统一的数据适配层,因此可以很容易地实现对不同数据库的存取和扩展,同时又兼顾不同数据库的特点和性能。 此外,通过良好的程序架构和 CSS 技术,EasyJForum 实现了对多种界面风格的支持,使用者...
结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...
产品安装过程中将会出现以上2个界面 9. 步骤8/8:完成安装 卸载Oracle 1. 在运行services.msc打开服务,停止Oracle的所有服务。 2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\...