博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL 百万级分页优化 数据库优化
阅读量:7187 次
发布时间:2019-06-29

本文共 576 字,大约阅读时间需要 1 分钟。

一般刚开始学SQL的时候,会这样写:

1
SELECT 
FROM 
table 
ORDER 
BY 
id LIMIT 1000, 10;

但在数据达到百万级的时候,这样写会慢死。也许耗费几十秒,网上很多优化的方法是这样的:

1
SELECT 
FROM 
table 
WHERE 
id >= (
SELECT 
id 
FROM 
table 
LIMIT 1000000, 1) LIMIT 10;

是的,速度提升到0.x秒了,看样子还行了,可是,还不是完美的!以下这句才是完美的:

1
SELECT 
FROM 
table 
WHERE 
id 
BETWEEN 
1000000 
AND 
1000010;

比上面那句,还要再快5至10倍。另外,如果需要查询 id 不是连续的一段,最佳的方法就是先找出 id ,然后用 in 查询:

1
SELECT 
FROM 
table 
WHERE 
id 
IN
(10000, 100000, 1000000...);

再分享一点,查询字段一较长字符串的时候,表设计时要为该字段多加一个字段,如,存储网址的字段

查询的时候,不要直接查询字符串,效率低下,应该查诡该字串的crc32或md5

本文转自 stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1790297

转载地址:http://omykm.baihongyu.com/

你可能感兴趣的文章
深度学习实战-强化学习-九宫格 当前奖励值 = max(及时奖励 + 下一个位置的奖励值 * 奖励衰减)...
查看>>
DS博客作业——树
查看>>
抽象工厂模式
查看>>
ural 1261. Tips(进制运算)
查看>>
tomcat安装与配置
查看>>
(5).plus(3).minus(2);
查看>>
Mevan 初涉
查看>>
猴子分桃
查看>>
Django框架之templates(模板)系统
查看>>
提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
查看>>
前端性能优化(css动画篇)
查看>>
用户体验评价
查看>>
[SCOI2012]滑雪与时间胶囊
查看>>
phonegap ios开发环境搭建
查看>>
QTP安装错误整理
查看>>
VBA中级班课时3小结
查看>>
捕获和记录SQL Server中发生的死锁
查看>>
WEB开发 前台界面后台java一致性
查看>>
Javascript 组合继承 原型链继承 寄生继承
查看>>
Java 引用传递
查看>>