집 >데이터 베이스 >MySQL 튜토리얼 >Python의 excutemany() 메서드를 사용하여 사전 목록으로 MySQL 데이터베이스를 효율적으로 채울 수 있는 방법은 무엇입니까?
Python에서 Executemany를 사용하여 사전 목록으로 MySQL 데이터베이스를 효과적으로 채우기
대규모 데이터 세트를 MySQL 데이터베이스에 삽입하면 종종 비효율성과 잠재적인 데이터베이스가 발생할 수 있습니다. 잠금. 사전 목록으로 표현된 데이터로 작업할 때 이 문제를 해결하려면 Executemany() 메서드를 활용하는 것이 좋습니다.
제시된 시나리오에서 원래 접근 방식은 테이블의 각 행을 데이터베이스에 수동으로 삽입하는 것입니다. 번거롭고 오류가 발생하기 쉽습니다. 이 프로세스를 최적화하기 위해 Executemany()는 단일 함수 호출로 여러 SQL 문을 실행할 수 있는 편리한 방법을 제공합니다.
executemany()를 효과적으로 사용하려면 사전에서 값을 추출하고 목록을 생성하여 데이터를 재구성합니다. 튜플의. 각 튜플은 각 열에 해당하는 값을 포함하는 테이블의 행을 나타냅니다.
itemBank = [] for row in rows: itemBank.append(( tempRow2['Item_Name'], tempRow1['Item_Price'], tempRow3['Item_In_Stock'], tempRow4['Item_Max'], getTimeExtra )) #append data
다음으로 매개변수 값에 대한 자리 표시자가 있는 SQL 쿼리를 생성합니다. 이 자리 표시자는 다음에서 튜플의 값으로 대체됩니다. Execmany() 함수를 실행합니다.
q = """ insert ignore into TABLE1 ( Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) values (%s,%s,%s,%s,%s) """
마지막으로 수정된 데이터와 SQL 쿼리를 사용하여 Executemany() 함수를 실행합니다.
try: x.executemany(q, itemBank) conn.commit() except: conn.rollback()
이 접근 방식은 여러 행을 실행하여 효율성을 크게 향상시킵니다. 단일 작업으로 개별 행 삽입과 관련된 오버헤드를 줄입니다. 또한 더 적은 수의 트랜잭션에 로드를 분산시켜 잠재적인 데이터베이스 잠금을 방지합니다.
executemany()를 활용하여 사전 목록을 MySQL 데이터베이스에 삽입함으로써 개발자는 데이터 삽입 프로세스를 간소화하고 데이터베이스 성능을 향상시키며 잠금 위험이 있습니다.
위 내용은 Python의 excutemany() 메서드를 사용하여 사전 목록으로 MySQL 데이터베이스를 효율적으로 채울 수 있는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!