>  기사  >  데이터 베이스  >  mysql의 table_cache 구성 매개변수에 대한 설명

mysql의 table_cache 구성 매개변수에 대한 설명

伊谢尔伦
伊谢尔伦원래의
2017-06-28 14:10:191502검색

이 글에서는 주로 MySQL성능 최적화의 table_cache 구성 매개변수를 소개합니다. 이 글에서는 cache 메커니즘, 매개변수 최적화 및 캐시 지우기 명령 등을 소개합니다. 필요한 친구는

table_cache를 참조할 수 있습니다. 중요한 MySQL 성능 매개변수 5.1.3 이후 버전에서는 table_open_cache라고 합니다. table_cache는 주로 테이블 캐시 수를 설정하는 데 사용됩니다. 각 클라이언트 연결은 최소한 하나의 테이블에 액세스하므로 이 매개변수의 값은 max_connections와 관련됩니다.

캐싱 메커니즘

연결이 테이블에 액세스하면 MySQL은 현재 캐시된 테이블 수를 확인합니다. 테이블이 캐시에 이미 열려 있으면 쿼리 속도를 높이기 위해 캐시에 있는 테이블에 직접 액세스합니다. 테이블이 캐시되어 있지 않으면 현재 테이블이 캐시에 추가되어 쿼리됩니다. 캐시 작업을 수행하기 전에 table_cache는 캐시된 테이블의 최대 수를 제한하는 데 사용됩니다. 현재 캐시된 테이블이 table_cache에 도달하지 않으면 이 값에 도달하면 MySQL은 테이블을 기반으로 캐시합니다. 마지막 쿼리 시간에 쿼리 속도 및 기타 규칙에 따라 이전 캐시가 해제됩니다.

매개변수 조정

일반적으로 그림과 같이 phpmyadmin에서 Open_tables 및 Opened_tables의 값을 확인하거나

mysql> show global status like 'open%_tables';

를 실행하여 현재 open_tables 상황을 확인할 수 있습니다.

이 두 매개변수 값을 확인하세요. 여기서 Open_tables는 현재 열려 있는 테이블 수이고 Opened_tables는 열려 있는 모든 테이블 수입니다.

Open_tables의 값이 table_cache의 값에 가깝고 Opened_tables가 계속해서 커지면 mysql이 새 테이블을 수용하기 위해 캐시된 테이블을 해제한다는 의미입니다. 이때 table_cache의 값을 늘려야 할 수도 있습니다. 대부분의 상황에서는

가 더 적합한 값입니다.

Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95

이 매개변수의 파악이 그다지 정확하지 않은 경우 VPS 관리 백과사전에서는 매우 보수적인 설정 제안을 제공합니다. 시험 운영을 위해

MySQL 데이터베이스

를 프로덕션 환경에 배치합니다. 일정 시간이 지난 후 매개변수 값을 Opened_tables 값보다 크게 조정하고 상대적으로 부하가 높은 극한 조건에서도 여전히 Opened_tables보다 약간 큰지 확인합니다.

캐시 지우기

mysql > flush tables;

명령을 실행하면 현재 캐시된 테이블이 모두 지워집니다.

위 내용은 mysql의 table_cache 구성 매개변수에 대한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.