我正在尝试使用线程来加速迭代大表中每一行的函数。
我目前的实现是使用以下SQL预先找到所有“游标”:
SELECT MAX(x.id) FROM
(SELECT id FROM big_table WHERE state = 3 AND id > %s ORDER BY id LIMIT 10000)
我用这个SQL迭代表,每次使用最后一个id作为下一个查询的光标。
获得这些“游标”后,我可以开始产生线程。
但是这个游标发现步骤成了新的瓶颈,结果证明是非常慢的。
我可以使用哪些其他方法将“迭代”拆分为可以分配给线程的小块?