发布网友 发布时间:2022-04-07 22:54
共2个回答
懂视网 时间:2022-04-08 03:15
如今我数据库一张表里面有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寻呼最快
标签:
热心网友 时间:2022-04-08 00:23
我不知道你为什么要分成多个表?如果你能认为区分要查询的数据在哪个表中,每次查询都只查一个表,那么你分表对查询效率有好处。反之,如果程序和人都无法直接判断需要在哪个表中进行查询,需要在多个表中依次查询数据,那么分表严重影响效率,建议合为一个大表。实在不想合表可以建立一个大的视图,但是视图的效率肯定没有直接的大表好。