계기: 새 테이블을 만들었는데 기존 테이블이 멈췄다배포에서 새 테이블을 하나 추가했는데, 그 테이블과 무관해 보이는 기존 테이블의 조회가 한동안 함께 멈추는 일을 겪었다. SHOW PROCESSLIST에는 Waiting for table metadata lock이라는 상태가 가득했다.새 테이블을 만들었을 뿐인데 왜 기존 테이블이 멈출까. 이 의문을 따라가다 보니 결국 MySQL이 DDL과 락을 다루는 방식 전체를 공부하게 됐고, 이 시리즈는 그 정리다.다만 이 장면을 바로 설명하기는 어려워서, 가장 단순한 DDL인 컬럼 추가부터 살펴보려고 한다.가장 단순한 재현: 3건짜리 테이블의 SELECT가 24초 걸렸다row가 3건뿐인 테이블에 컬럼 하나를 추가해본다. 어떤 방식으로 처리되든 순식간에 끝나야 정상일..