社区
MySQL
帖子详情
mysql可不可以既返回总的结果数量又limit到指定页面?
3m2u
2008-04-02 08:03:03
因为要搜索一些数据,要么select *
要么就先select count(*) 然后再select limit start,cnt
有没有可能直接limit 还能得到总数?
...全文
505
8
打赏
收藏
mysql可不可以既返回总的结果数量又limit到指定页面?
因为要搜索一些数据,要么select * 要么就先select count(*) 然后再select limit start,cnt 有没有可能直接limit 还能得到总数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
懒得去死
2008-04-09
打赏
举报
回复
[Quote=引用 7 楼 SICTXK 的回复:]
引用 6 楼 CAYU 的回复:
select count(*) 在不同的数据库里边运行差别很大的
可以用 select count(id) 这样会快一些
[/Quote]
一样的。
SICTXK
2008-04-08
打赏
举报
回复
[Quote=引用 6 楼 CAYU 的回复:]
select count(*) 在不同的数据库里边运行差别很大的
[/Quote]
可以用 select count(id) 这样会快一些
jspxnet
2008-04-08
打赏
举报
回复
select count(*) 在不同的数据库里边运行差别很大的
yick77
2008-04-03
打赏
举报
回复
select SQL_CALC_FOUNDED_ROWS * from 'table'..... limit 10;
$total=select FOUND_ROWS();
faisun
2008-04-03
打赏
举报
回复
测试了一下,
在有的情况下,SQL_CALC_FOUND_ROWS 比用 select count(*) 更慢 ...
yangxiao_jiang
2008-04-03
打赏
举报
回复
在很多分页的程序中都这样写:
SELECT COUNT(*) from `table` WHERE ......; 查出符合条件的记录总数
SELECT * FROM `table` WHERE ...... limit M,N; 查询当页要显示的数据
这样的语句可以改成:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` WHERE ...... limit M, N;
SELECT FOUND_ROWS();
这样只要执行一次较耗时的复杂查询可以同时得到与不带limit同样的记录条数
第二个 SELECT返回一个数字,指示了在没有LIMIT子句的情况下,第一个SELECT返回了多少行 (若上述的 SELECT语句不包括 SQL_CALC_FOUND_ROWS 选项,则使用LIMIT 和不使用时,FOUND_ROWS() 可能会返回不同的结果)。
长知识了,收藏.
faisun
2008-04-03
打赏
举报
回复
是 SQL_CALC_FOUND_ROWS 而不是 SQL_CALC_FOUNDED_ROWS
懒得去死
2008-04-02
打赏
举报
回复
没有。
深分页问题,
mysql
查询
limit
1000,10 和
limit
10 一样快吗?
比
limit
size要慢,且offset的值越大,sql的执行速度越慢。当offset过大,会引发深度分页问题,目前不管是
mysql
还是es都没有很好的方法去解决这个问题。只能通过限制查询
数量
或分批获取的方式进行规避。遇到深度分页...
mysql
大数据量
limit
优化
在通常的业务场景中,分页一般是使用
MySQL
提供的
limit
来实现从数据库中获取
指定
偏移量的数据行。在数据量较小的场景中,并没有太大的问题,但当数据量膨胀到一定程度,获取靠后的分页数据时,性能下降就会特别的大...
大数据量
limit
分页优化
在通常的业务场景中,分页一般是使用
MySQL
提供的
limit
来实现从数据库中获取
指定
偏移量的数据行。在数据量较小的场景中,并没有太大的问题,但当数据量膨胀到一定程度,获取靠后的分页数据时,性能下降就会特别的大...
MySQL
分页
查询
返回
的记录太多了,我们希望一页一页的查看,如: 百度,淘宝的
页面
表里有多条数据,但是我们只想查询其中的某几条数据 2.实现规则 分页原理 所谓分页,就是将数据库中的结果集,一段一段显示出需要的...
Mysql
常见面试题
MySQL
的分页语法:在
MySQL
中,SELECT语句默认
返回
所有匹配的行,它们可能是
指定
表中的每个行。为了
返回
第一行或前几行,可使用
LIMIT
子句,实现分页查询。– 在所有的查询结果中,
返回
前5行记录。– 在所有的查询结果...
MySQL
57,065
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章