MySQL大数据量快速分页实现
mysql 实现 快速 分页 数据量
2023-09-11 14:19:07 时间
以下分享一点我的经验
一般刚开始学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
---------------------
作者:Jef冒牌绅士
来源:CSDN
原文:https://blog.csdn.net/longjef/article/details/53929394
版权声明:本文为博主原创文章,转载请附上博文链接!
相关文章
- 会员中心通过AJAX、JSON、PHP、MySql等技术实现注册和登录功能(1+X Web前端开发中级 例题)——初稿
- MySQL 按指定字段自定义列表排序
- mysql日期类型默认值'0000-00-00'容错处理
- Mysql表连接:内连接、外连接、交叉连接、自然连接真的都不一样吗
- mysql检查数据库是否存在某列,若不存在则添加
- .NET/Mysql-petatoco连接mysql数据库
- Node http和express和mysql
- 基于 Java(SpringBoot+SSM)+MySQL 实现的(Web)高校成绩分析与管理系统【100010579】
- 基于Java+Python+MySQL实现的(Web)选题系统【100010569】
- 基于Java+MySQL实现(Web)医院门诊信息管理系统【100010554】
- 基于Java+MySQL实现新闻发布系统【100010497】
- 转 【MySQL】常用拼接语句 shell 下执行mysql 命令
- mysql双机热备的实现
- mysql添加和root用户一样的权限
- Windows10安装MySQL和redis
- mysql 修改字符集
- 使用docker搭建mysql集群,实现负载均衡保证数据一致性方案实现
- 【MySQL】MySQL 发展历程和主流分支