mysql寻呼最快

时间:2023-03-08 21:53:46

大家都知道,mysql分页写:

select * from 'yourtable' limit start,rows

如今我数据库一张表里面有9969W条数据。表名叫tweet_data

select count(*) from tweet_data

mysql寻呼最快mysql寻呼最快mysql寻呼最快

运行第一条sql语句,就查6000000条開始的10条,看查询时间mysql寻呼最快

mysql寻呼最快

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzNzE5OTY4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

mysql寻呼最快mysql寻呼最快

60s这得有多慢!

解决方式一、

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

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

mysql寻呼最快

看看效果mysql寻呼最快

mysql寻呼最快

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYTgzNzE5OTY4NQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

mysql寻呼最快

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

解决方式二、

那么就有了以下这样的sql语句

select * from tweet_data where id_auto_increase between 60000000 and 60000010

mysql寻呼最快mysql寻呼最快

mysql寻呼最快

mysql寻呼最快

mysql寻呼最快

有图为证!

在这里我们仅仅对一张表上的数据进行了操作,并且数据量在1亿条左右,可是假设我们的数据量更大呢?

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