标签:
大家都知道,mysql分页写:
select * from 'yourtable' limit start,rows
如今我数据库一张表里面有9969W条数据。表名叫tweet_data
select count(*) from tweet_data
运行第一条sql语句,就查6000000条開始的10条,看查询时间
60s这得有多慢!
解决方式一、
有人立刻想到了利用索引来提高效率。那么我们就利用主键吧,所以,便有了以下这样的sql
select * from tweet_data where id >=(select id from tweet_data limit 60000000,1)limit 10
看看效果
果然没有多大提升,可是假设数据量在百万级别的话,效率还是能够多番几倍,可是!这明显没有达到我们的要求
解决方式二、
那么就有了以下这样的sql语句
select * from tweet_data where id_auto_increase between 60000000 and 60000010
有图为证!
在这里我们仅仅对一张表上的数据进行了操作,并且数据量在1亿条左右,可是假设我们的数据量更大呢?
那么就要涉及到很多其它知识了!小弟拙见!
标签:
原文地址:http://www.cnblogs.com/yxwkf/p/4590936.html