2009-11-22 3 views
2

나는 삽입하고 1 분마다 1000 개의 레코드를 계속 업데이트해야하며, mysql 트랜잭션은 sqlite3에서와 마찬가지로 속도 성능에 도움이 될 것입니다.MySQL 트랜잭션 도움말을 사용하여 1000 레코드를 효율적으로 삽입/업데이트 하시겠습니까?

필자는 테스트 (1300 개의 레코드 삽입)를 수행했지만 InnoDB (트랜잭션 용)와 MyISAM을 사용하여 동일한 결과를 보였다.

Python 용 MySQLdb 사용

답변

0

배치 삽입을 시도하십시오. 결과 업데이트에 대해 아무 것도 말할 수 없습니다.

2

트랜잭션은 성능과 관련이 없습니다. 데이터 무결성 및 일관성에 관한 것입니다.

MySQL은 트랜잭션 로그와 롤백 세그먼트를 유지 관리해야하므로 트랜잭션이 느려질 것이라고 생각합니다. 그러나 이점은 각 INSERT가 무결성을 유지할 수 있다는 것입니다.

InnoDB는 참조 통합을 유지합니다. MyISAM은 그렇지 않습니다. 아무런 차이가 없다면 트랜잭션 경계가 설정되지 않았기 때문이라고 추측합니다.

0

이것이 MySQL에 도움이 될지 모르겠지만 이전 작업에서 참여한 대규모 Oracle 시스템의 경우 처리량을 최대화하기 위해 일괄 적으로 100 개 또는 1000 개의 삽입/업데이트가 수행되었습니다. 많은 불만은 PL-SQL에서 서버 측에서 수행되었습니다.

관련 문제