我有一个包含超过1亿行的MySQL表。这个表是一个生产表,其中服务了大量的读请求。假设我需要从这个表中提取一百万行,在Node.js脚本中处理这些行,然后将数据存储到Elasticsearch。我在使用MongoDB时没有遇到任何性能问题,因为find查询返回一个游标,该游标可以批量获取结果。因此,无论我的输入有多大,都不会引起任何问题。
现在,我不知道是如何在引擎盖下工作的。我的方法是否适用于MySQL,或者必须一次又一次地执行查询,就像第一个select查询获取那些行,where id < 10
我有两个选项可以根据select查询的游标更新表。select id1 from table1update table2 set value=1 where table2.id2 = table1.id1
设置一个游标-- select查询并批量获取它,然后在for all语句中启动update查询。Oracle是在内部将select子查询转换为批量收集,还是将其视为普通游标?