mysql运行快的分页_mysql最快分页方法

众所周知,mysql分页是这样写的:

select * from 'yourtable' limit start,rows

现在我数据库一张表里面有9969W条数据,表名叫tweet_data

select count(*) from tweet_data

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

执行第一条sql语句,就查6000000条开始的10条,看查询时间

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

60s这得有多慢!

解决方案一、

有人立马想到了利用索引来提高效率,那么我们就利用主键吧,所以,便有了下面这种sql

select * from tweet_data where id >=(select id from tweet_data limit 60000000,1)limit 10

0818b9ca8b590ca3270a3433284dd417.png

看看效果

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

果然没有多大提升,但是如果数据量在百万级别的话,效率还是可以多番几倍,但是!这明显没有达到我们的要求

解决方案二、

那么就有了下面这种sql语句

select * from tweet_data where id_auto_increase between 60000000 and 60000010

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

有图为证!

在这里我们只对一张表上的数据进行了操作,而且数据量在1亿条左右,但是如果我们的数据量更大呢?

那么就要涉及到更多知识了!小弟拙见!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值