为了账号安全,请及时绑定邮箱和手机立即绑定

limit主键索引排序问题

select film_id,description FROM sakila.film WHERE film_id>600 and film_id<=605 order by film_id limit 1,5 如果中间删了一条数据怎么办

正在回答

3 回答

这样sql是优化了,但开发不得累死啊,那些mybatis-pagehelper这类的插件是不是就用不起来了...

得自己去写个count总记录的sql,再写个优化版的分页查询语句?

0 回复 有任何疑惑可以回复我~

那分页不就是不准确了吗,可能第一页5条,第二页两条,第三页5条

0 回复 有任何疑惑可以回复我~
#1

likeflower950

你这属于重复分页了,分页的话,你不能使用前面的 film_id > 600 and film_id <= 605这个限制。你这个分页不准不是因为limit造成的,是你where条件的造成的,这种情况下,不管用什么排序都是4条记录。
2017-06-27 回复 有任何疑惑可以回复我~
#2

likeflower950

我还没看完老师的讲解就开始回答了你的问题:我错了。其实你问这个问题错误的不是你,而是老师,我没想到老师竟然用这种方式写SQL。 如果能保证是连续自增的话,那用了 film_id > 600 and film_id <= 605,那就不需要使用limit 语法了,
2017-06-27 回复 有任何疑惑可以回复我~

那只能取出4条记录

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

limit主键索引排序问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信