MYSQL&MARIA 인덱스 생성 작업 Lock관련 문의 0 1 3,983

by 양디비 mysql maria index lock [2019.06.19 10:21:38]


안녕하세요. 초보 mysql dba입니다. 

실시간 트랜젝션이 많은 서비스에 쿼리 성능 향상을 목적으로 신규 인덱스 생성작업을 진행하게 되었습니다.

서비스 정지없이 생성작업이 진행되어야 하며, 테이블 사이즈는 168M정도 입니다.

해당 DB버전은 maria 10.1.32(아마도 mysql 5.6과 기능이 동일한 것 같음)입니다.

구글 검색을 통해, MYSQL은 oracle처럼 생성시 online 옵션을 주거나 하지 않고, 5.6 이후부터는 인덱스생성시에는 락없이 DML작업이 가능하다는 것을 알게되었는데요. 실제로도 이슈없이 처리가 되는지 궁금하여 문의드립니다. (테이블 사이즈가 큰 경우도 이슈없이 처리되는지 문의)

많은 조언 부탁드립니다.  감사합니다.

by 르매 [2019.06.19 12:41:14]

테이블 사이즈도 크지 않고 말씀하신 것처럼 MySQL 5.6 이후의 Online DDL 에서 Secondary Index의 생성을 지원하기 때문에 별 이슈 없이 처리할 수 있을 듯 합니다.

https://dev.mysql.com/doc/refman/5.6/en/innodb-online-ddl-operations.html#online-ddl-index-operations

p.s
테이블 사이즈가 큰 경우에도 문제가 되는 것은 잠금이 아니라 I/O 부하가 지속되는 시간의 문제로 보시면 될 듯 합니다.
즉, 인덱스가 생성되는 동안 발생하는 I/O 부담으로 서버의 전체적인 성능에 영향을 주는 걸텐데, 이 자체가 크게 문제가 된고 안되고는 상황에 따라 다르다고 봐야겠네요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입