[MySQL] OPTIMIZE TABLE

DataBase 2009. 4. 18. 18:53

가변길이 레코드들의 입출력이 많을 때 인덱스 저장 등의 문제로 OPTIMIZE TABLE 을 실행할 필요가 있다.
실수했던 것은 테이블 이름을 둘러 싼 싱글 쿼테이션.

'  <- 이거...

OPTIMIZE TABLE 'TABLE_NAME';   => 이건 구문오류
올바른 SQL 은 다음과 같다.

OPTIMIZE TABLE TABLE_NAME;

 

아래는 OPTIMIZE TABLE 에 대한 MySQL 문서내용. 

OPTIMIZE TABLE은 테이블의 대부분을 삭제하거나 가변 길이 레코드를 가지는 테이블(VARCHAR 컬럼,BLOB 컬럼, 또는 TEXT 컬럼을 가지는 테이블)에 많은 변경을 했을 경우에 사용합니다. 삭제된 레코드는 링크된 리스트에 보관 유지되어 원래 레코드 위치는 후속 INSERT 조작에 의해 재이용됩니다. OPTIMIZE TABLE 를 사용해 미사용 영역을 정리해 데이터 파일을 최적화할 수가 있습니다.

대부분의 경우,OPTIMIZE TABLE을 실행할 필요는 없습니다.가변 길이 레코드에 갱신을 많이 실시하는 경우에서도, 주 또는 달에 한 번, 특정의 테이블에만 실행하는 것으로 충분합니다.

http://dev.mysql.com/doc/mysql/en/OPTIMIZE_TABLE.html

'DataBase' 카테고리의 다른 글

[PostgreSQL] 일별, 월별 통계 구하기  (0) 2009.04.18
[PostgreSQL] 문자열 나누기 (SPLIT_PART)  (0) 2009.04.18
[PostgreSQL] 날짜 구문  (0) 2009.04.18
[MySQL] substring_index 사용법  (0) 2009.04.18
[MySQL] 날짜 관련 함수  (0) 2009.04.18
Posted by bloodguy
,