MySQL 百万级分页优化
来源:互联网 发布:手机不root改mac地址 编辑:程序博客网 时间:2024/05/16 14:47
以下分享一点我的经验
一般刚开始学SQL的时候,会这样写
SELECT * FROM table ORDER BY id LIMIT 1000, 10;
但在数据达到百万级的时候,这样写会慢死
SELECT * FROM table ORDER BY id LIMIT 1000000, 10;
也许耗费几十秒
网上很多优化的方法是这样的
SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;
是的,速度提升到0.x秒了,看样子还行了
可是,还不是完美的!
以下这句才是完美的!
SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010;
比上面那句,还要再快5至10倍
另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询
SELECT * FROM table WHERE id IN(10000, 100000, 1000000...);
再分享一点
查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段
查询的时候,不要直接查询字符串,效率低下,应该查诡该字串的crc32或md5
一般刚开始学SQL的时候,会这样写
复制代码代码如下:
SELECT * FROM table ORDER BY id LIMIT 1000, 10;
但在数据达到百万级的时候,这样写会慢死
复制代码代码如下:
SELECT * FROM table ORDER BY id LIMIT 1000000, 10;
也许耗费几十秒
网上很多优化的方法是这样的
复制代码代码如下:
SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;
是的,速度提升到0.x秒了,看样子还行了
可是,还不是完美的!
以下这句才是完美的!
复制代码代码如下:
SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010;
比上面那句,还要再快5至10倍
另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询
复制代码代码如下:
SELECT * FROM table WHERE id IN(10000, 100000, 1000000...);
再分享一点
查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段
查询的时候,不要直接查询字符串,效率低下,应该查诡该字串的crc32或md5
0 0
- MySQL 百万级分页优化
- MySQL 百万级分页优化
- MySQL 百万级分页优化
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL 百万级分页优化(Mysql千万级快速分页)
- MySQL百万数据分页优化
- Mysql limit 优化,百万至千万级快速分页,
- Mysql limit 优化,百万至千万级快速分页,
- Mysql数据库百万级记录查询分页优化
- Mysql数据库百万级记录查询分页优化
- Mysql数据库百万级记录查询分页优化
- 微信小程序入门教程
- 获取文件长度
- CSS布局之两列布局一列固定一列自适应
- shell中exec解析
- Js基础第7课:通过ID获取元素、innerHTML 属性
- MySQL 百万级分页优化
- JavaScript中的全局属性和全局方法总结
- Docker学习笔记(二)
- Android studio导入项目时碰到一直卡在Building界面
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted
- java中导入(读)excel表格
- java回调机制---简单例子说明
- 使用RMF报表设计器进行报表设计
- JavaScript中形形色色的宽高