InnoDB 데이터베이스를 사용하기 전에 알아야 할 사항은 무엇입니까?


10

InnoDB 데이터베이스를 사용 가능하게하기 전에 서버 또는 DB 관리자가 알아야 할 사항.

에 대한 올바른 값 설정과 같은 것에 대해 생각 innodb_buffer_pool_size하고 있습니다.innodb_log_file_size

그렇다면 데이터베이스를 사용하는 응용 프로그램이 최적의 상태로 작동하지 않는 구성을 잊어 버릴 수있는 간단한 방법은 무엇입니까?

답변:


14

시작하기 전에 고려해야 할 몇 가지 구성 옵션이 있습니다.

myisam을 전혀 사용하지 않는 한 거의 모든 max_connections메모리를 안전하게 할당 할 수 있습니다 (OS를 편안하게 실행할 수 있도록 충분히 유지하고 메모리에 충분한 용량을 유지) innodb_buffer_pool. InnoDB의 좋은 점은 거의 모든 메모리를 자체적으로 처리하며 쿼리 캐시, 키 버퍼 등과 같은 것을 분리 할 필요가 없다는 것입니다.

innodb_file_per_table파일 시스템을 탐색하고 다른 테이블과 데이터베이스에 필요한 공간을 확인하는 것이 훨씬 쉬워지기 때문에 간단히 활성화하는 것이 좋습니다 . 여전히 InnoDB 내부 용으로 일반 ibdata 파일이 필요하지만으로 정의하면됩니다 10M:autoextend. 미리 할당 된 크기를 가진 많은 다른 innodb 데이터 파일을 정의 할 필요가 없습니다.

innodb_log_file_size그리고 innodb_log_buffer_size당신은 큰 사람의 많은 경우 더 큰보다 10 배 당신의 가장 큰 Blob 오브젝트를해야합니다 결합. 당신이하지 않으면 (그리고 당신은 [ 1 , 2 ] 해서는 안됩니다 ), 실제로 그것을 많이 신경 쓸 필요가 없습니다. 계산 방법에 대한 자세한 보고서는 MySQL 성능 블로그 를 확인하십시오 .

MySQL을 잠시 동안 실행 한 경우 MySQLTuner 또는 MySQL Tuning Primer로 설정을 확인하십시오 .

보다 자세한 보고서를 보려면 mysqlreport를 시도 하고 실시간 모니터링을하려면 mytop을 확인하십시오 .


innodb_file_per_table에 대해 기억해야 할 한 가지는 디스크 공간을 복구하는 데 사용되는 방법이 다르다는 것입니다. ibdata 파일을 사용하면 테이블 끝을 삭제하여 테이블 스페이스의 공간을 복구 할 수 있습니다. 개별 테이블 파일 공간을 삭제해도 복구되지 않으면 파일 시스템에 공간을 리턴하기 위해 테이블 ​​최적화를 사용하여 테이블을 재 빌드해야합니다. 테이블을 잠그면 응용 프로그램이 중단 될 수 있습니다.
mtinberg 2009

2

나에게 "놀라운"한 가지는 innodb가 기본적으로 모든 데이터베이스 / 테이블에 하나의 파일을 사용한다는 것입니다. 데이터베이스 당 디렉토리와 테이블 / 테이블 인덱스 당 파일을 사용하는 MyISAM 테이블과 반대로.

실제 파일을 테이블 단위로 축소하는 데 사용되는 경우 중요 할 수 있습니다 (테이블 xxx 최적화).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.