发布网友 发布时间:2022-04-23 02:21
共2个回答
热心网友 时间:2022-04-07 20:23
其实就跟分页获取数据类似,网上这种例子就比较多了,分段获取你可以把当前获取的最大的自增id存储在文件、数据库或者memcache中,下一段用大于这个做条件,然后遍历完再更新这个数就行了。追问不用自增id来分段可否?追答时间是可以用,但是时间只能作为条件,你不存储自增id还是要存遍历的数字的
SELECT * FROM t1 where `time`>20130808001 order by time DESC LIMIT 1,1000
SELECT * FROM t1 where `time`>20130808001 order by time DESC LIMIT 1001,1000
……
另外强调一下,加了order by之后sql查询速度会明显下降,即便加了索引在大数据量的情况下还是会比较慢的。
热心网友 时间:2022-04-07 21:41
如果总共就几万而且字段不多的话可以一次全取出来
如果几万笔记录还会迅速增长就需要分段了、应该有自增主键或者日期之类的过滤字段吧
追答分段就是有点类似分页,在后台逻辑就有点像递归算法。