mysql 分页存储过程

这篇博客探讨了MySQL分页存储过程在数据量大时性能下降的问题。通过使用`EXPLAIN`分析,作者发现原始存储过程在数据量达到百万级时仍然全表扫描,导致查询缓慢。经过调整,去掉了`SQL_CALC_FOUND_ROWS`和自定义行号,查询时间从16秒降低到0.038秒。作者强调,引用他人解决方案时应根据实际情况进行调整,理解其原理以适应自身需求。
摘要由CSDN通过智能技术生成

网上关于mysql分页存储过程的资料很多,但内容大同小异。作为初学者,引用mysql存储过程如下:

<p> </p><p>DELIMITER $$</p><p>USE `database1`$$ -- 数据库名称</p><p>DROP PROCEDURE IF EXISTS `Query_Pagination`$$  -- 分页存储过程名称,存在则删除</p><p>CREATE <a target=_blank href="mailto:DEFINER=`root`@`%">DEFINER=`root`@`%</a>` PROCEDURE `Query_Pagination`(  -- 创建新的分页存储过程
  IN _fields VARCHAR (2000), -- 显示的字段
  IN _tables TEXT, -- 表名
  IN _where VARCHAR (2000), --  where条件,可为空
  IN _orderby VARCHAR (200), -- 排序条件,可为空
  IN _pageindex INT, -- 开始页
  IN _pagesize INT, -- 每页大小
  OUT _totalcount INT, -- 总共行数
  OUT _pagecount INT --  总共页数
)
BEGIN
  SET @startrow = _pagesize * (_pageindex - 1) ;
  SET @pagesize = _pagesize ;
  SET @rowindex = 0 ;
  SET @strsql = CONCAT(
    ' select sql_calc_foun
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值