인프런 커뮤니티 질문&답변

dncjf64님의 프로필 이미지
dncjf64

작성한 질문수

MySQL 성능 최적화

Theory

실무에서 로드 데이터 활용하는 사례 및 기타 질문

해결된 질문

작성

·

162

0

안녕하세요. 강의 너무 잘듣고 있습니다. 먼저 감사드립니다 ㅠㅠ

load data문 같은경우는 실무에선 어떤식으로 활용하나요?

비즈니스 로직에선 사용하지 않을 것 같구

대용량 데이터를 수동으로 넣을때만 활용하는 걸까요?

load_data문 주의사항에서 '트랜잭션이 처리되는 동안에는 undo log 지울 수 없는 문제가

발생함' 내용에 대한 지식이 부족하여 설명 부탁드립니다 ㅠㅠ

 

답변 1

1

여정민님의 프로필 이미지
여정민
지식공유자

안녕하세요~ 질문 남겨주셔서 감사합니다. 하나씩 답변드릴게요.

1) LOAD DATA 문은 배치 프로그램에서 주로 사용되구요. 저는 주로 대량의 데이터를 MySQL 에 적재할 때, 파일로 먼저 만들고 LOAD DATA 문을 이용해서 삽입하는 식으로 사용해요.

 

2) 트랜잭션은 처리되는 동안에 언제든 롤백 할 수 있도록 Undo Log 에 원본 데이터를 기록해두는데요. 트랜잭션이 끝나면 Undo Log 에 있는 해당 데이터를 지울텐데, 트랜잭션이 끝나지 않는다면 데이터를 지울 수 없으니까 시스템 처리 성능이 떨어지는 문제를 말한거에요. 디스크 사용량과 I/O 연산이 증가할테고 또 InnoDB 스토로지 엔진은 MVCC 로 동시성을 관리할텐데, 이 과정에서, 일관된 뷰를 제공하기 위해 큰 크기의 Undo Log 파일을 더 많이 검사하게 되서 성능 저하를 유발할거에요.

 

Undo Log 에 자세한 내용을 보고 싶다면 레퍼런스를 통해 보시면 학습에 많은 도움이 되실 것 같습니다.

https://dev.mysql.com/doc/refman/8.3/en/innodb-undo-logs.html

 

dncjf64님의 프로필 이미지
dncjf64

작성한 질문수

질문하기