나는 MySQL 성능 블로그에서 this post을 읽었습니다. 응용 프로그램에서InnoDB 최적화 - "업데이트 할 때 트랜잭션 사용"- 이유는 무엇입니까?
조정은 말한다 :
먼저 내가 현재는 여러 삽입 또는 업데이트가있는 장소에서 트랜잭션을 사용하고 업데이트
을 수행 할 때 트랜잭션을 사용하고 있는지 확인 같은 시간. 즉 하나 이상의 테이블.
따라서 모든 UPDATE
을 변경하여 거래로 변경해야합니까?
prepare sql
bind params
commit
과 : 데이터베이스 수준에서 발생하는 측면에서
begin transaction
prepare sql
bind params
execute statement
commit transaction
즉 한 쪽이 다른 쪽보다 더 빨리하게,
의 차이점은 무엇입니까?
+1. 더 많은 기술적 인 분석 : 로그를 작성하는 것을 지연시키는 버퍼 (innodb_log_buffer_size)가 있습니다. 항상 커밋하면 더 자주 플러시되어야하기 때문에 성능이 저하됩니다. 버퍼는 1 초마다 자동으로 플러시됩니다. –