测试表
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL auto_increment,
`sort` int(11)
`title` varchar(50),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;
存储过程代码
DELIMITER $$;
DROP PROCEDURE IF EXISTS `sp_page`$$
CREATE PROCEDURE `sp_page`(
in _pagecurrent int,/*当前页*/
in _pagesize int,/*每页的记录数*/
in _ifelse varchar(1000),/*显示字段*/
in _where varchar(1000),/*条件*/
in _order varchar(1000)/*排序*/
)
COMMENT '分页存储过程'
BEGIN
if _pagesize<=1 then
set _pagesize=20;
end if;
if _pagecurrent < 1 then
set _pagecurrent = 1;
end if;
set @strsql = concat('select ',_ifelse,' from ',_where,' ',_order,' limit ',_pagecurrent*_pagesize-_pagesize,',',_pagesize);
prepare stmtsql from @strsql;
execute stmtsql;
deallocate prepare stmtsql;
set @strsqlcount=concat('select count(1) as count from ',_where);/*count(1) 这个字段最好是主键*/
prepare stmtsqlcount from @strsqlcount;
execute stmtsqlcount;
deallocate prepare stmtsqlcount;
END$$
DELIMITER ;$$
调用代码
调用例1 call sp_Page(1,3,'*','test','order by id desc');
调用例2 call sp_Page(1,3,'*','test where sort=1','order by id desc');
调用例3 call sp_Page(1,3,'id,title','test where sort=1','order by id desc');
分享到:
相关推荐
在MySQL数据库管理中,分页查询是不可或缺的功能,它允许我们从海量数据中按需获取一部分结果,提高用户体验,减少服务器负担。通用分页是一种适用于多种场景的分页方法,可以适应不同的表结构和查询需求。本文将...
MySQL分页技术是数据库查询中常见的一种优化手段,它允许我们从海量数据中按需获取指定范围的结果,提高用户体验并减少服务器负担。由于其通用性,这种技术不仅可以应用于MySQL,还可以适应其他类型的数据库系统,如...
因此,在性能至关重要的情况下,可能需要考虑其他更优化的分页策略,例如使用索引或者存储过程。 总之,使用标准SQL语句进行分页查询是数据库开发中的一项基本技能。通过巧妙地利用子查询,我们可以实现灵活而高效...
通用共享数据专题库则用于存储特定主题的数据,报表应用则用于数据可视化和分析,指标管理则是对数据进行度量和评估的工具。应用层的门户系统提供了统一的访问入口,数据交换、整合、加工组件则负责数据的传输、清洗...
总的来说,GRASS文件预留系统是一个针对用户需求优化的海量数据管理系统,它提高了数据访问速度,增强了系统的用户友好性,并且具备良好的通用性和扩展性。系统的设计和实现不仅解决了GRASS分级存储系统存在的问题,...
- 数据流图: 描述数据流动和处理的过程。 - 数据字典: 对数据流图中的元素进行详细定义。 - **概念结构设计** - 实体: 信息世界中的客观对象。 - 联系: 实体间的关联关系。 - 属性: 描述实体的特征。 - **...
#### 怎样对海量数据进行优化? - 使用索引。 - 减少冗余数据。 - 采用分页技术。 #### JMS知道多少?会不会用? JMS(Java Message Service)是Java平台中关于面向消息中间件(MOM)的API,用于在两台计算机之间...