2012-04-03 3 views
3

최근에 우리는 어떤 표준도 따라 가지 않은 데이터베이스를 최적화하기 시작했습니다. 다음을 수행 할 수 있습니다.Mysql : 조각난 테이블은 무엇이며 왜 최적화를 실행해야합니까?

clean up of unused tables. 
    optimizing data types and indexes. 
    tuning slow queries. 
    evaluating my.cnf configurations with mysqltuner.pl and similar ones 

이 과정에서 나는 단편화 된 테이블을 최적화하고 있습니다. 이 조각화 된 테이블은 무엇이며 기능 및 성능에 어떻게 영향을 미칩니 까? 왜 내가이 테이블에서 OPTIMIZE를 실행해야합니까?

나는이 기능에 전혀 영향을 미치지 않을 것이라고 생각합니다. 그렇지 않으면 나를 수정하십시오.

미리 답변 해 주셔서 감사합니다. 감사합니다, 오늘

답변

6

레코드를 삭제 (또는 더 작아 지도록 업데이트 할 때), 테이블에는 빈 데이터 덩어리 인 "구멍"이 생깁니다. 구멍에 맞으면 새 데이터로 채워지지만 테이블을 사용하는 방법에 따라 낭비되는 공간이 상당 할 수 있습니다. 같은 양의 유용한 정보를 위해 더 많은 블록을 디스크에서 읽을 필요가 있기 때문에 이것은 좋지 않습니다.

이러한 조각화 된 테이블에서 optimize 명령을 실행하면 레코드를 이동하여 테이블의 구멍을 없앨 수 있습니다.

대용량 유지 관리 또는 업데이트 작업 (예 : 대량 삭제)을 수행 한 후에는 일반적으로이를 수행하는 것이 좋습니다.

+0

지금은 정말 분명합니다. Thilo 감사합니다 ...- 일 – Uday

관련 문제