가능하면 SQL에서 LOAD DATA INFILE ... 문을 사용하여 데이터를 대량로드하는 것이 좋습니다. 이렇게하면 각 데이터 행을로드하기 위해 엄청난 수의 별도 쿼리를 작성하지 않아도됩니다.
게시 한 코드에서로드하려는 데이터 행당 하나의 쿼리를 생성하게됩니다. commit()
은 트랜잭션이 시작된 이후의 모든 쿼리를 포괄하는 트랜잭션 만 커밋합니다.
당신은 확실히 파이썬에서이 작업을 수행 할 경우, 당신은이 같은 executemany
를 사용하여 시도 할 수 :
db = MySQLdb.connect(host="your_host", user="your_user", passwd="your_password", db="your_database")
write_cursor = db.cursor()
write_list = []
for obj in parsed_objs:
key = 'randomstring'
write_list.append((key,obj[key]))
sql = "REPLACE INTO infos (`key`, `value`) VALUES (%s, %s)"
write_cursor.executemany(sql, write_list)
db.commit()
당신이 "LOAD 데이터 INFILE"로 봤어을? – user2370125
예, 다른 방법을 사용해 보겠습니다. – user3175226