DB (2) 썸네일형 리스트형 Database Table Lock 이번에 작업한 개발 내용 중, 데이터 컨버전이 필요한 부분이 있었는데, 해당 내용 실행 시, 테이블 락이 걸리면서 관련 테이블에 데이터를 쓸 수 없는(Write) 상황이 발생했다.테이블 락이란?트랜잭션이나 명령이 하나의 테이블 전체에 대해 잠금을 거는 행위락이 걸린 동안에는 다른 트랜잭션이 해당 테이블에 대해 읽거나 쓸 수 없다. 구분InnoDBMyISAM기본 락Row-level Lock (행 락)Table-level Lock (테이블 락)락 충돌 가능성낮음높음동시성높음낮음특징트랜잭션 지원트랜잭션 미지원우리는 InnoDB를 사용하기 때문에, InnoDB에서 테이블 락이 발생하는 대표적인 사례를 나열해보자.InnoDB에서 테이블 락이 걸리는 대표적 사례Foreign Key 제약 조건 충돌부모 테이블을 참조.. [MySQL] 테이블 파티셔닝 테이블 파티셔닝이란?하나의 큰 테이블을 논리적으로 여러 개의 파티션으로 나누어 저장하는 방식대량 데이터 처리에 효과적✅ 장점쿼리 성능 향상 → 파티션 프루닝(Partition Pruning)으로 특정 파티션만 조회데이터 삭제 속도 개선 → DELETE 대신 DROP PARTITION으로 빠르게 삭제INSERT 성능 향상 → 특정 파티션에만 추가테이블 크기 관리 최적화 → 데이터 분산 저장아카이빙 용이 → 특정 파티션을 파일로 저장 후 삭제 가능ℹ️ 파티션 프루닝: 조건에 따라 필요한 파티션만 조회하는 기법 ✅ 단점특정 쿼리에서 성능 저하파티션 키(파티션을 나누는 컬럼)이 조회 조건에 포함되어 있지 않으면 오히려 일반 테이블보다 느려질 수 있음인덱스 관리가 어려움파티션 키 외에 다른 컬럼을 인덱스로 추가.. 이전 1 다음