[MYSQL]InnoDB Optimize

Database 2016.08.01 09:45 Posted by 애플자라

C:\Program Files\MySQL\MySQL Server 5.5\bin>mysqlcheck -u root -p --optimize --databases dg_db_batch

Enter password: **********


mysqlcheck -u root -p --optimize --databases dg_db_batch

mysqlcheck -u root -p --optimize --databases dg_db_chart_day

mysqlcheck -u root -p --optimize --databases dg_db_chart_month

mysqlcheck -u root -p --optimize --databases dg_db_chart_week

mysqlcheck -u root -p --optimize --databases dg_db_finance

mysqlcheck -u root -p --optimize --databases dg_db_index

mysqlcheck -u root -p --optimize --databases dg_db_index_calc

mysqlcheck -u root -p --optimize --databases dg_db_intra


---------------------------------------------------------------------------------------------------------


Optimize

단편화 제거 작업(defrag operation)과 같이, optimize table 명령문을 사용하면 사용하지 않은 공간을 회수할 수 있다. MyISAM 엔진에서는 optimize 명령문은 말그대로 단편화 제거 작업만을 수행한다. 반면 InnoDB 엔진의 경우 내부적으로 ALTER TABLE문을 실행하여, MySQL 서버에 대해 테이블과 인덱스를 재생성하도록 요청한다.

http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

단일 테이블에 대해 optimize를 하려면:

mysql> OPTIMIZE TABLE {table name};

콘솔에서 데이터베이스의 전체 테이블을 optimize를 하려면:

$ mysqlcheck -u root -p --optimize --databases dbname

만약 InnoDB라면 결과에 "Table does not support optimize, doing recreate + analyze instead” 메시지가 나온다.


출처 - http://blog.syszone.co.kr/3333

 

출처 - http://crom0810.tistory.com/entry/MySQL-ibdata1-%ED%8C%8C%EC%9D%BC-%ED%81%AC%EA%B8%B0-%EC%A4%84%EC%9D%B4%EA%B8%B0

댓글을 달아 주세요