本文整理自网络,侵删。
目录
- 一.limit越往后越慢的原因
- 二.百万数据模拟
- 1、创建员工表和部门表,编写存储过程插数据
- 2.执行存储过程
- 三.4种查询方式
- 1.普通limit分页
- 2.使用索引覆盖+子查询优化
- 3.起始位置重定义
- 4,降级策略(百度的做法)
一.limit越往后越慢的原因
当我们使用limit来对数据进行分页操作的时,会发现:查看前几页的时候,发现速度非常快,比如 limit 200,25,瞬间就出来了。但是越往后,速度就越慢,特别是百万条之后,卡到不行,那这个是什么原理呢。先看一下我们翻页翻到后面时,查询的sql是怎样的:
select * from t_name where c_name1='xxx' order by c_name2 limit 2000000,25;
这种查询的慢,其实是因为limit后面的偏移量太大导致的。比如像上面的 limit 2000000,25 ,这个等同于数据库要扫描出 2000025条数据,然后再丢弃前面的 20000000条数据,返回剩下25条数据给用户,这种取法明显不合理。
相关阅读 >>
解决plsql developer中数据库插入数据乱码问题(ssm项目开发)
更多相关阅读请进入《sql》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL 百万级数据的4种查询优化方式
标签:sql
相关推荐
评论
管理员已关闭评论功能...