카테고리 없음

mysql 테이블 체크, 복구, 최적화

Jack Moon 2015. 7. 14. 14:23

check table 테이블명;
repair table 테이블명;
optimize table 테이블명;

 

 

만약 테이블이 너무 커서 최근 데이터만 남기고 나머지는 지우고 싶다.

용량이 너무 큰 테이블은 지우기 보다는 

새로운 테이블을 만들어 최근 데이터만 insert 하고

기존 테이블을 지우는 것이 좋다.

 

ex) news 테이블에 10년치 데이터만 있는데 24년 이후 데이터만 남기고 지우고 싶다면

1. news 테이블의 스키마로 news2 테이블을 만든다.

2. 최근 데이터만 삽입

INSERT INTO news2 (contentsid,titlestr,summary,linkstr,crawldate,mediacode,mediastr)
SELECT contentsid,titlestr,summary,linkstr,crawldate,mediacode,mediastr FROM news WHERE crawldate >= '2024-01-01'

3. news 테이블 삭제, news2 이름 변경

DROP TABLE news;
RENAME TABLE news2 TO news;