Heim  >  Artikel  >  Backend-Entwicklung  >  如何把表的数据快速地查询出来

如何把表的数据快速地查询出来

WBOY
WBOYOriginal
2016-06-13 10:35:191220Durchsuche

求助:怎么把表的数据快速地查询出来
因为自己的原因,在团购表整个表里的数据有二个字段出了错,需要把数据表里取出来,在更新到团购表里,
因为数据量比校大,我没有选择更新,
我是建了另外一张表B,我用程序控制这样的SQL循环整个团购表A
select * from tuangouA limit 0,600;
select * from tuangouA limit 600,600;
select * from tuangouA limit 1200,600;

在初使的候,速度还挺快的,但是当基数到达 


select * from tuangouA limit 6000000,10;

我取10条数据,都要4秒多钟, 以这样的速度下去,不知道要运行到什么时候啊,6百万刚好我表A一半的数据而己,所以我特别着急,但是又找不到其它的方法。
各位大侠们,你们有没有什么好的方法没有啊。



------解决方案--------------------
设 id 为主键,且 id 连续
select * from tuangouA where id>= 6000000 limit 10;

------解决方案--------------------
你每次取得数据也少了点吧 每次取个10000条 循环的次数也少多了吧
------解决方案--------------------

探讨

设 id 为主键,且 id 连续
select * from tuangouA where id>= 6000000 limit 10;

------解决方案--------------------
数据过多 可以分表
------解决方案--------------------
又不是条件查询,慢也没办法。
------解决方案--------------------
如果你不是要选择全部的话不要用select * 用 select 字段 from 这样会select * 快不过要用到order by的比较明显
------解决方案--------------------
可以参考《高性能MySQL(第2版)中文版》如下段落
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn