개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.05 12:58

Innodb_flush_log_at_trx_commit 설정에 대한 질문

목록
  • 자바스크립트귀신 1일 전 2025.07.05 12:58
  • 9
    1
제가 MySQL에서 Innodb_flush_log_at_trx_commit 설정에 대해 이해를 못하고 있습니다.
이 설정이 트랜잭션을 커밋할 때 로그를 플러시하는 방법을 결정하는 것 맞나요?
이 설정의 기본값은 무엇이고, 각 설정값의 의미를 설명해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    Innodb_flush_log_at_trx_commit 설정은 MySQL의 InnoDB 엔진에서 트랜잭션을 커밋할 때 로그를 플러시하는 방법을 결정하는 설정입니다.

    이 설정의 기본값은 1입니다.

    - 0: 트랜잭션을 커밋할 때 로그를 플러시하지 않습니다.
    - 1: 트랜잭션을 커밋할 때 로그를 플러시합니다.
    - 2: 트랜잭션을 커밋할 때 로그를 플러시하지 않지만, 1초마다 로그를 플러시합니다.

    이 설정의 값은 데이터의 일관성과 성능을 결정하는 중요한 설정입니다.

    트랜잭션을 커밋할 때 로그를 플러시하지 않으면(0), 데이터의 일관성이 유지되지만, 로그가 플러시되지 않으므로 데이터가 손실될 수 있습니다.

    트랜잭션을 커밋할 때 로그를 플러시하면(1), 데이터의 일관성이 유지되며, 로그가 플러시되므로 데이터가 손실되지 않습니다.

    1초마다 로그를 플러시하는 경우(2), 데이터의 일관성이 유지되며, 로그가 플러시되므로 데이터가 손실되지 않습니다.

    하지만, 로그를 플러시하는 빈도는 1초로 제한되어 있으므로, 로그 플러시 빈도가 낮을 수 있습니다.

    따라서, 이 설정의 값을 선택할 때는 데이터의 일관성과 성능을 고려하여 선택해야 합니다.

    2025-07-05 12:59

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 33,726건 / 4 페이지

검색

게시물 검색