博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Mysql】MySQL高效获取记录总数SQL_CALC_FOUND_ROWS
阅读量:6689 次
发布时间:2019-06-25

本文共 580 字,大约阅读时间需要 1 分钟。

用法说明

分页程序一般由两条SQL组成:

SELECT COUNT(*) FROM ... WHERE ....SELECT ... FROM ... WHERE LIMIT ...

如果使用SQL_CALC_FOUND_ROWS的话,一条SQL就可以了:

SELECT SQL_CALC_FOUND_ROWS ... FROM ... WHERE LIMIT ...

在得到数据后,通过FOUND_ROWS()可以得到不带LIMIT的结果数:

SELECT FOUND_ROWS()

示例

常规分页查询:

//获取总数SELECT COUNT(*) FROM users WHERE k='avs';//获取当前页记录SELECT id FROM goods WHERE k='avs' LIMIT 10;

使用 SQL_CALC_FOUND_ROWS 和 FOUND_ROWS()方式

SELECT SQL_CALC_FOUND_ROWS goods WHERE k='avs' LIMIT 10; SELECT FOUND_ROWS();  //获取总数

这虽然是两个sql语句,但是确是查询一次数据库,效率明显提高了一半!

  • SQL_CALC_FOUND_ROWS:告诉Mysql将sql所处理的行数记录下来,
  • FOUND_ROWS():则取到了这个纪录

转载地址:http://pfkoo.baihongyu.com/

你可能感兴趣的文章
质量时代——“Jolt大奖精选丛书”有奖征文
查看>>
Python list方法总结
查看>>
DNS服务器维护命令
查看>>
PHP DES加密解密封装类
查看>>
python 之time和datetime的搭配秘密
查看>>
授之以渔-运维平台应用模块三(BIND篇)
查看>>
初始API编程
查看>>
【NetDIY应用开发-01】Hello world
查看>>
六、用户与权限
查看>>
面向机器学习数据平台的设计与搭建
查看>>
centos6.7 编译安装mysql-5.6.27
查看>>
spring cloud 整合zpkin问题
查看>>
Maven下载慢的解决方案
查看>>
我的友情链接
查看>>
Android 核心分析 之七------Service深入分析
查看>>
Regsvr32使用方法
查看>>
2015/5/2 (一) 浅谈PHP的几个运行模式
查看>>
柱形图Demo
查看>>
static关键字
查看>>
win7控制面板中网络适配器不可见
查看>>