`

mysql 通用存储过程分页 海量数据分页

    博客分类:
  • sql
阅读更多

测试表

 

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作为一种广泛...

    Mysql分页通用存储过程

    Mysql分页通用存储过程

    通用Mysql分页存储过程

    通用Mysql分页存储过程,支持多表查询。

    MYSQL分页存储过程

    ### MySQL分页存储过程概述 分页存储过程是一种在数据库层面上实现数据分页的技术。相比应用程序级别的分页,它能更高效地处理数据,减少网络传输的数据量,提升系统性能。在MySQL中,我们可以通过创建存储过程来...

    Mysql分页存储过程

    针对mysql分页的一个存储过程,可以动态传入表名,可带查询条件,可带排序列

    mysql分页存储过程

    通过上述分析可以看出,这个MySQL分页存储过程实现了灵活且高效的分页查询功能。它不仅能够根据用户提供的参数动态地构建查询语句,还能够处理排序、分组等复杂需求。对于需要频繁进行分页查询的应用场景来说,这种...

    ASP.NET 存储过程分页

    例如,一个典型的分页存储过程可能接收两个输入参数:@PageSize(每页记录数)和@PageNumber(当前页号),并返回相应的数据。 接下来,我们讨论分页的实现步骤: 1. **创建存储过程**:在数据库中编写一个存储...

    SQL分页读取海量数据存储过程

    三、创建分页存储过程 1. 参数定义:通常,存储过程会接受两个参数,一个是当前页码(PageNumber),另一个是每页数据量(PageSize)。 2. 计算偏移量:偏移量等于(PageNumber - 1)* PageSize。 3. 查询优化:通过...

    mysql通用存储过程sql脚本

    mysql通用存储过程sql脚本,支持多表,子查询,高级查询 分页

    mysql存储过程简单应用编写

    **MySQL分页** 在大量数据查询中,分页是非常实用的功能。在存储过程中,我们可以结合LIMIT和OFFSET关键字实现分页。以下是一个示例: ```sql SELECT * FROM table_name LIMIT page_size OFFSET (page_number - 1) *...

    mysql 通用存储过程

    mysql 通用存储过程,,下载直接导入mysql工具中即可使用,包含所有通用查询功能,下载资源即可使用

    经典的分页、排序SQL 通用存储过程.rar

    本文将详细解析"经典的分页、排序SQL 通用存储过程"所涉及的知识点,并给出如何实现这样的存储过程。 首先,分页是数据库查询中的一种优化策略,用于限制每次查询返回的结果数量,从而避免一次性加载大量数据导致的...

    SQL高效存储过程分页

    当我们谈论“SQL高效存储过程分页”时,我们主要关注如何利用存储过程来实现数据库查询的分页效果,这在大数据量的场景下尤为重要,因为直接查询所有数据可能会导致性能下降,甚至阻塞数据库服务。 分页是Web应用...

    通用存储过程高效分页

    下面是一个基于MySQL的例子,展示了一个通用的分页存储过程: ```sql DELIMITER // CREATE PROCEDURE GetPagedData(IN page INT, IN pageSize INT, IN tableName VARCHAR(255), IN orderColumn VARCHAR(255)) BEGIN...

    mysql数据库实现分页

    4. **存储过程**:可以创建存储过程来封装分页逻辑,减少重复代码,提高效率。 四、分页策略 1. **静态分页**:固定每页的记录数,适合数据量变化不大且不需要实时更新的场景。 2. **动态分页**:根据用户需求动态...

    asp.net(GridView)存储过程分页源码

    在分页场景下,我们可以创建一个接受参数(如每页记录数和当前页数)的存储过程,返回特定页的数据。例如,存储过程可能包含`OFFSET`和`FETCH NEXT`(在SQL Server中)或者`LIMIT`和`OFFSET`(在MySQL中)来获取指定...

    通用的存储过程sql分页查询语句

    总结,通用的存储过程SQL分页查询语句是数据库开发中的重要工具,它结合了存储过程的复用性和SQL的灵活性,可以高效地处理大数据量的分页查询。通过选择适当的分页方法和优化策略,我们可以进一步提升查询性能,提供...

    万能存储过程分页,搞效率分页

    "万能存储过程分页"是一个针对高效数据分页的解决方案,它旨在优化查询性能,减少数据库负载,同时提供流畅的用户体验。下面将详细讨论存储过程、分页原理以及如何提高分页效率。 首先,存储过程是预编译的SQL语句...

    ASP.NET基于通用存储过程的分页

    本主题将深入探讨如何在ASP.NET中利用通用存储过程实现分页。 首先,理解存储过程的概念是至关重要的。存储过程是在数据库中预编译的SQL语句集合,它能够执行特定的任务,如查询、插入、更新或删除数据。在分页场景...

Global site tag (gtag.js) - Google Analytics