서버를 개발하고 운영하다 보면 통화 기록(CDR), 수신 전문 로그, 메시지 발송 이력처럼 하루에도 수십만에서 수백만 건씩 쌓이는 대용량 테이블을 다루게 됩니다.데이터가 수천만 건에 도달하면 단순히 인덱스를 걸어두는 것만으로는 한계가 옵니다.SELECT 조회 시 B-Tree 인덱스 깊이 증가 및 버퍼 풀(Buffer Pool) 경합으로 인한 I/O 지연보관 기간이 만료된 데이터를 지우기 위해 DELETE FROM ... WHERE recv_date InnoDB 락(Lock) 경합, 언두 로그(Undo Log) 폭증, 디스크 I/O 병목이런 문제를 해결하는 표준 해법이 바로 MySQL Range 파티셔닝(Range Partitioning)입니다. 물리적으로 데이터를 날짜/기간 단위 분할 파일로 나누어 관리..