码迷,mamicode.com
首页 > 数据库 > 详细

mysql寻呼最快

时间:2015-06-20 20:45:11      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

大家都知道,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亿条左右,可是假设我们的数据量更大呢?

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







mysql寻呼最快

标签:

原文地址:http://www.cnblogs.com/yxwkf/p/4590936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!