我的mysql查询非常简单如下:
db = getDB()
cursor = db.cursor()
cursor.execute('select * from users')
results = cursor.fetchall()
for row in results:
process(row)
假设用户表有10亿条记录,一条记录的处理方法需要10毫秒。 上面的代码将完成将所有数据提取到客户端,然后启动处理方法。这真的浪费时间。我应该查询并处理并行吗?
所以我想将fetchall()更改为fetchmany()并启动一个新线程,以便在光标开始查询新结果时处理检索到的结果。