我有两个名为数据库A
和数据库B
的mysql数据库。我想使用python将所有数据从数据库A
中的表复制到数据库B
中的表。数据表包含大约5M行。我已经编写了以下代码:
connection = make_connection(source_db)
c = connection.cursor()
batch_size = 100000
while True:
batch = c.fetchmany(batch_size)
print('Extracted a batch.')
if not batch:
break
insert_data(batch)
connection.close()
我运行了这段代码,fetchmany()
花费几分钟的时间来提取单个批次。我尝试使用fetchall()
而不使用while True
语句,但这会花费更长的时间。
问题:我如何成功加快此过程/将大型选择语句加载到python中的最佳方法是什么?