通用分页的 Mysql 存储过程,支持多表查询,写得挺通用的。你只要传入页码、每页条数,还有 SQL 主语句,基本就能跑起来,响应也快,逻辑也清晰。尤其适合那种后端业务复杂但又不想搞太多逻辑分页的项目。
这种方案在做多表联合查询时有用,比如订单表连商品表、用户表那种,多条件一加,分页性能就掉得厉害。这个存储过程优化得还不错,用起来比较稳。
如果你对分页优化感兴趣,可以看看多表查询的分页存储过程优化和SQL 存储过程分页查询实现这些相关文章,蛮有参考价值的。
另外,建议你实际用的时候,注意一下 SQL 语句的排序字段,尽量建上索引,不然即便存储过程写得再好,查询速度也卡。
如果你是 Mysql 的常用用户,想少写点分页逻辑,这个存储过程确实挺省心的。感兴趣可以看看原文:通用 Mysql 分页存储过程。