mysql分页查询很慢,从第1000000条记录开始查10条

编程入门 行业动态 更新时间:2024-10-27 17:16:37
本文介绍了mysql分页查询很慢,从第1000000条记录开始查10条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

问 题

SELECT * FROM table ORDER BY id LIMIT 1000000, 10; (id是主键自增,耗时十几秒)为什么这样写很慢····不是已经走了id索引了吗????但是改成SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10; (耗时0.3秒)快了几十倍···········

解决方案

这是MySQL查询优化的一个缺陷,这在《阿里巴巴Java开发手册》上也有说明。

具体而言,直接SELECT * FROM ... LIMIT m, n会把m+n行 整行 都取出来,所以应该先取n个id,再根据这n个id把整行取出来。

除了你列出的写法外,还可以这样写:

SELECT * FROM table WHERE id IN (SELECT id FROM table ORDER BY id LIMIT 1000000, 10)

更多推荐

mysql分页查询很慢,从第1000000条记录开始查10条

本文发布于:2023-10-15 12:14:15,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1494304.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分页   很慢   mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!