Mysql 컬럼 추가 이슈

solarrrrr·2023년 7월 17일
0

Today I Learned

목록 보기
60/74

기존에 사용 중이던 테이블에 특정 컬럼을 추가할 상황이 생겼다.
해당 테이블은 별도로 외래키가 맺어진 상태는 아니었고 두 컬럼이 유니크로 묶여 있는 상태였다.

추가될 컬럼까지 총 세 컬럼이 하나의 유니크로 묶여야 해서 기존 유니크를 풀고 alter문을 사용해 세 컬럼을 묶었다.

아니, 묶으려 했다. 그런데 시간만 흐르고 처리가 되지 않는다.

데이터 양은 약 30만 건 있었고 개발db에서 테스트 할 땐 몇 초 만에 처리됐어서 상용에 시도한 건데 락 걸린 듯 시간만 흘렀다.

5분쯤 지나도 처리가 안 돼서 취소를 하는데도 오래 걸림...

액세스 중인 사용자들이 있어 그런가 싶어 날 잡아 서버를 내리고 해 봐도 마찬가지고
복제 테이블을 만들어 이름을 변경하려 해도 안 되고 해당 테이블 드롭도 안 되었다.

뭔가 변경사항이 생기는 작업이 안 먹혀서 결국 임시방편으로 복제 테이블 이름으로 코드를 수정했다.

원인과 해결책이 궁금해서 주말에 서칭을 좀 해 봤는데 이런 글이 보였다.

링크텍스트

시도해 보고 싶었지만 서비스 중인 db에 실험을 할 수가 없어서 못해 봤다.

개발db에서는 잘 처리되고..
로컬에 상용과 동일한 버전의 db를 설치하고 데이터를 넣은 후 테스트해 볼 계획인데
같은 문제가 재연될지 모르겠다.

일단 테스트해 보고 후기 다시 남기는 걸로..

profile
몰입

1개의 댓글

comment-user-thumbnail
2023년 7월 18일

가치 있는 정보 공유해주셔서 감사합니다.

답글 달기