라이브러리

[MYSQL_CONFIG] --innodb_flush_log_at_trx_commit - 트랜잭션 커밋 시 로그를 플러시하는 빈도 설정




인노드 플러시 로그 앳 트랜잭션 커밋 (InnoDB Flush Log at Trx Commit)

인노드 플러시 로그 앳 트랜잭션 커밋 (InnoDB Flush Log at Trx Commit)은 MySQL의 인노드 엔진에서 사용하는 로그 플러시 메커니즘입니다. 이 옵션은 트랜잭션 커밋 시 로그를 플러시하는 빈도와 관련이 있습니다.

기본 동작


기본적으로 인노드 플러시 로그 앳 트랜잭션 커밋은 `1`로 설정되어 있습니다. 이 설정은 트랜잭션 커밋 시 로그를 플러시하는 것을 의미합니다. 즉, 트랜잭션 커밋 시마다 로그가 플러시되어 디스크에 저장됩니다.

옵션 설정


`--innodb_flush_log_at_trx_commit` 옵션은 0, 1, 또는 2로 설정할 수 있습니다.

- 0: 트랜잭션 커밋 시 로그를 플러시하지 않습니다. 대신, 로그 플러시가 1초 간격으로 수행됩니다.
- 1: 트랜잭션 커밋 시 로그를 플러시합니다. 이 설정은 기본 설정입니다.
- 2: 트랜잭션 커밋 시 로그를 플러시하지 않습니다. 대신, 로그 플러시가 1초 간격으로 수행됩니다. 이 설정은 0과 유사하지만, 로그 플러시가 항상 1초 간격으로 수행됩니다.

예제


다음 예제는 `--innodb_flush_log_at_trx_commit` 옵션을 0, 1, 2로 설정한 경우의 로그 플러시 빈도를 보여줍니다.

#hostingforum.kr
sql

-- 기본 설정 (1)

SET GLOBAL innodb_flush_log_at_trx_commit = 1;



-- 트랜잭션 커밋 시 로그 플러시 빈도

START TRANSACTION;

INSERT INTO 테이블명 (컬럼명) VALUES ('값');

COMMIT;  -- 트랜잭션 커밋 시 로그 플러시



-- 0으로 설정

SET GLOBAL innodb_flush_log_at_trx_commit = 0;



-- 트랜잭션 커밋 시 로그 플러시 빈도

START TRANSACTION;

INSERT INTO 테이블명 (컬럼명) VALUES ('값');

COMMIT;  -- 로그 플러시가 1초 간격으로 수행



-- 2로 설정

SET GLOBAL innodb_flush_log_at_trx_commit = 2;



-- 트랜잭션 커밋 시 로그 플러시 빈도

START TRANSACTION;

INSERT INTO 테이블명 (컬럼명) VALUES ('값');

COMMIT;  -- 로그 플러시가 항상 1초 간격으로 수행



결론


`--innodb_flush_log_at_trx_commit` 옵션은 트랜잭션 커밋 시 로그 플러시 빈도를 제어하는 옵션입니다. 이 옵션을 설정할 때는 로그 플러시 빈도와 관련된 고려 사항을 반드시 고려해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 1 페이지

검색

게시물 검색