삶 가운데 남긴 기록 AACII.TISTORY.COM
MYSQL 최적화 본문
데이터 무결성 검사
단일 테이블에 대해 무결성 검사를 하려면
mysql> CHECK TABLE 데이터베이스이름.테이블이름;
리눅스 콘솔에서 전체 테이블을 검사 하려면
mysqlcheck -u root -p --check --databases 데이터베이스이름
테이블 무결성 검사는 정기적으로 하는 것을 권장합니다.
Optimize
사용하지 않은 공간을 회수합니다.
MyISAM 엔진을 쓰는 MySQL에서는 optimize 명령은 단편화 제거 작업만을 수행합니다.
InnoDB 엔진을 쓰는 MySQL에서는 ALTER문으로 인덱스를 재생성하도록 요청합니다.
단일 테이블에 대해 optimize 하려면
mysql> OPTIMIZE TABLE 데이터베이스이름.테이블이름;
리눅스 콘솔에서 전체 테이블을 optimize 하려면
mysqlcheck -u root -p --optimize --databases 데이터베이스이름
콘솔에서 작업시 만약에 MySQL엔진이 InnoDB라면 결과에 "Table does not support optimize, doing recreate + analyze instead" 메시지가 나옵니다.
Analyze
인덱스를 재생성하여 성능을 최적화합니다.
join시 쿼리가 지나치게 느리다면 analyze를 실행해보는 것을 고려할만 합니다.
analyze를 실행하면 read 락이 걸리므로 운영중에 실행은 권장하지 않습니다.
만약 엔진이 InnoDB 엔진이라면 optimize 과정에 analyze가 포함되어 있으므로 따로 실행하지 않아도 됩니다.
단일 테이블에 대해 analyze를 하려면
mysql> ANALYZE TABLE 데이터베이스이름.테이블이름;
리눅스 콘솔에서 전체 테이블을 analyze 하려면
mysqlcheck -u root -p --analyze --databases 데이터베이스이름
728x90
'DEV&OPS > Database' 카테고리의 다른 글
Postgresql 14 CentOS 7 설치 (0) | 2023.12.21 |
---|---|
MySQL utf8 설정 (0) | 2022.12.29 |
ORA-28001 오라클 비밀번호 만료 (0) | 2022.07.15 |
MySQL 테이블 복사 (구조 및 데이터) (0) | 2022.05.13 |
MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량 (0) | 2022.04.20 |