mysql百万数据limit_mysql数据库limit优化例子(百万级数据)

今天看到一篇文章讲的就是mysql数据有100万的时候,分页的时候,查询非常慢,针对这个问题讲优化方案

实验准备

这里我准备了1000万数据的一张表,进行测试

默认分页情况下

select id,username,age,word from demo limit 101,10;

f5a550eeeb0a7719fb5409e00e21326d.png

select id,username,age,word from demo limit 100001,10;

67b625470fb30d411114851820dff59d.png

对比上面的查询可以看到,limit的数据越往后查询花费的时间就越长

上面的对比不明显,那么我们下面查询的大点的数据

select id,username,age,word from demo limit 8000001,10;

c44cf02928b95af1efaec6ad1904db47.png

这个时间是否有吓到你,如果不优化,分分钟你的网站就会崩掉

解决方法

看一下单查id的执行时间

select id from demo limit 8000001,1

1512247b34f89e47b45cde841593f97e.png

把分页的代码修改成

select id,username,age,word from demo where id>(select id from demo limit 8000001,1) limit 10;

4ae82e16be22c2eca2ab9e77936c34b8.png

sql的执行效率提升了一半,已经提升很大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值