MySQL에서 DB에서 사용하는 Storage의 사이즈를 줄이는 방법으로 OPTIMIZE를 사용한다.
예를 들어, DB data 정보들을 delete 명령으로 줄였을 때, DB의 물리적인 파일의 용량은 줄지 않게 됩니다. 이럴 때, OPTIMIZE 명령을 통해서, 물리적인 파일 용량을 줄일 수 있다.
요즘 AWS와 같은 Storage의 용량이 가격 증가의 원인이 된다. 이처럼 Storage에 민감한 부분을 잘 관리함으로써, 가격을 줄일 수 있다.
[OPTIMIZE 명령]
mysql> OPTIMIZE TABLE {table name}; |
Optimize 단편화 제거 작업(defrag operation)과 같이, optimize table 명령문을 사용하면 사용하지 않은 공간을 회수할 수 있다. MyISAM 엔진에서는 optimize 명령문은 말그대로 단편화 제거 작업만을 수행한다. |
출처: http://applejara.tistory.com/543 [애플자라]
InnoDB의 경우 메시지 |
Msg_text: Table does not support optimize, doring recreate + analyze instead |
여기서, InnoDB를 MyISAM를 변경하면, 용량이 정리가 됩니다.
그러나, 잘못하면 Storage 증가로 DB 공간를 다 차지할 수 있습니다.
(MyISAM으로 변경하려는 table 1개가 1G이하라면 추천하지만, 그 이상이라면 백업이라던지 작업후에 시도해보시길 바랍니다.)
주의: InnoDB에서 MyISAM으로 변경시 Select는 빨라질수도 있지만, Insert/Update속도가 느려질수도 있습니다. 변경시 성능에 큰 문제가 없을때, 큰용량에만이 문제가 되는 케이스를 추천드립니다.
참고: [[ 리눅스 ]] mysql Database 테이블 모두 최적화하기 (ShellScript방법 안내)
php기본 테이블 돌면서 처리하기 |
|
|
|
출처: http://cafe.daum.net/imeji/GiBV/198?q=mysql%20optimize%20table |
MYSQL 자동 최적화 | Optimize |
|
|
|
http://cafe.daum.net/KingOfLinux/1xBD/36?q=mysql%20optimize%20table |
'DB관련 > MySQL' 카테고리의 다른 글
MySQL mysqldump로 full backup, DB table 백업, 복원 (중요:대용량 복원은 MyISAM엔진으로 변경하세요) (0) | 2020.10.23 |
---|---|
mysql 문자열 합치기 / 문자열 자르기 / 문자열 바꾸기 CONCAT() SUBSTRING() (0) | 2020.07.08 |
SQL의 IFNULL()함수 MySQL의 COALESCE()함수로 사용 (0) | 2019.03.02 |
윈도우 mysql install 디렉토리 와 Data디텍토리 위치 (0) | 2017.11.11 |
[펌]MySQL 쓰면서 하지 말아야 할 것 17가지 (0) | 2017.08.25 |
MySQL 프로세스 리스트 보기 , 프로세스 죽이기. (0) | 2017.04.20 |
DB명 Table명 대소문자 구분 처리하기 (대소문자 구분 OS에서만 가능) (0) | 2016.11.08 |
QUARTER별 쿼리 만들기 ( 쿼터별 리포트 ) (0) | 2016.09.29 |
(로그인하지 않으셔도 가능)