#查询结果有几十万的数据量
sql = 'select * from abc'
get_list = execute(sql)
#遍历数据列表,比对id
for data in get_list:
sql = f"select abc_id from xyz = {data['id']}"
res = cursor.execute(sql)
#数据处理...
刚开始非常快,几秒钟处理了几千条,然后就越来越慢,几秒处理几十条。
为什么会这样,怎么解决?
#查询结果有几十万的数据量
sql = 'select * from abc'
get_list = execute(sql)
#遍历数据列表,比对id
for data in get_list:
sql = f"select abc_id from xyz = {data['id']}"
res = cursor.execute(sql)
#数据处理...
刚开始非常快,几秒钟处理了几千条,然后就越来越慢,几秒处理几十条。
为什么会这样,怎么解决?
这可能是由于查询语句中的连接操作导致的性能问题。为了优化查询性能,可以考虑使用联接查询来替代嵌套查询,或者使用索引来提高查询效率。另外,可以尝试将数据分批处理,减少单次查询的数据量,以减轻数据库负担。