使用limit查询的同时取得总的记录数:SQL_CALC_FOUND_ROWS和FOUND_ROWS()
2024-10-02 18:53:57
通常我们都用如下的sql来进行列表
SELECT COUNT(*) FROM users WHERE name LIKE ‘a%’;
SELECT name, email FROM users WHERE name LIKE ‘a%’ LIMIT 10;
但是从Mysql4.0.0开始,我们可以选择使用另外一个方式:
SELECT SQL_CALC_FOUND_ROWS name, email FROM users WHERE name LIKE ‘a%’ LIMIT 10;
SELECT FOUND_ROWS();
其中SQL_CALC_FOUND_ROWS 告诉MySQL将sql所处理的行数记录下来,FOUND_ROWS() 则取到了这个纪录。
虽然也是两个语句,但是只执行了一次主查询,所以效率比原来要高很多。
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name WHERE LIMIT ; mysql> SELECT FOUND_ROWS();
最新文章
- 再谈React.js实现原生js拖拽效果
- TeamCity : 自动触发 Build
- iPhone Safari下iframe不显示滚动条无法滚动的解决方法
- SPRING SECURITY 拦截静态资源
- Android 图片的合成
- BZOJ 2648: SJY摆棋子 kdtree
- android从资源文件中读取文件流显示
- Android4.2.2的Stagefright维护编解码器的数据流
- LibVLC audio controls
- MySQL事务内幕与ACID
- 【锋利的jQuery】中全局事件ajaxStart、ajaxStop不执行
- Docker常见仓库WordPress
- Electron 创建一个空白的界面
- Html5: Drawing with text
- 利用window.performance.timing进行性能分析
- ThunderBird对只有回复地址的邮件过滤
- 队列----java实现
- python第三方库requests简单介绍
- C#调用DLL报“试图加载格式不正确的程序”
- PHP 图片 平均分割