我需要并行化for循环以减少其执行时间。 我正在使用pymysql将一个数据库复制到其他10个数据库
from mysql.connector import MySQLConnection, Error
import pymysql
import csv
import config
import multiprocessing
def query_with_fetchall(i):
conn = MySQLConnection(host = config.host,
user = config.user,
password = config.passwd,
db = config.db_name)
cursor = conn.cursor()
sql = '''USE ultimate;
CREATE TABLE IF NOT EXISTS orders_user{0} (id VARCHAR(10), amazon_order_id VARCHAR(100), merchant_order_id VARCHAR(100), purchase$
sqla = ''LOAD DATA LOCAL INFILE '/home/ec2-user/order.csv' INTO TABLE orders_user{0} FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' '''
for result in cursor.execute(sql, multi=True):
pass
cursor.execute(sqla)
conn.commit()
conn.commit()
conn.close()
print("s")
jobs = []
for i in range(2):
try:
p1 = Process(target = query_with_fetchall, args =(i,))
print("done")
jobs.append(p1)
except Exception:
import traceback
print(traceback.format_exc())
pass
for j in jobs:
j.start()
for j in jobs:
j.join
复制10个表所需的时间约为10分钟,即每个表1分钟,我希望在1分钟内并行复制所有表
目前没有回答
相关问题 更多 >
编程相关推荐