各位牛人,小弟有一问题请教。
目前有一数据表格,该表格有大概300万条数据,我想逐条遍历一次,并计算每条的某个值。
目前采用LIMIT分页办法遍历,
"select * from weibo_emotion limit " + begin + ", " + 1000,大概是这样子,每次分页取出一千条,然后逐条计算。
但是我发现由于使用LIMIT语句,当beign 这个值逐渐增大时,这条语句执行的越来越慢,甚至达到几分钟。
请问各位高人 是否有其他快速的方法能够逐条遍历数据表。
此外 表中是有主键ID, 有索引。

解决方案 »

  1.   

    LIMIT N,M的时候,其实MYSQL本质上仍然需要从1到M,只不过1到N不输出处理而已。
      

  2.   

    建议还是直接不加LIMIT一次性处理完成。如果一定要加,则在上次LIMIT N,1000后记录下最后一个ID值,然后再下次时 where id>LastQueryID limit 1000
      

  3.   

    limit主键 基本无延迟的情况
      

  4.   

    以ID为标准分页?
    如果是
    select a.* from tt a inner join (select id from tt limit 1000,10) b
    on a.id=b.id