MySql 캐 시 조회 원리 와 캐 시 모니터링 및 색인 모니터링 소개
1.캐 시 조작 원리 조회
my sql 검색 어 를 실행 하기 전에 검색 어 를 캐 시 에 있 는 문 구 를 비교 하고 바이트 에 따라 비교 하 며 완전히 일치 해 야 같다 고 생각 합 니 다.아래 와 같이 이 두 문장 은 서로 다른 조회 로 간주 된다
SELECT * FROM tb1_name
Select * from tb1_name
1)서로 다른 데이터베이스,서로 다른 프로 토 콜 버 전,또는 문자 집합 이 다른 조회 로 간주 되 고 단독 캐 시 됩 니 다.
2)다음 두 가지 유형의 조 회 는 캐 시 되 지 않 습 니 다.
a.전처리 문
b.새 겨 진 하위 조회
3)캐 시 에서 조회 결 과 를 캡 처 하기 전에 my sql 은 사용자 가 조회 와 관련 된 모든 데이터 베이스 와 표 에 대해 조회 권한 이 있 는 지 확인 하고 없 으 면 캐 시 조회 결 과 를 사용 하지 않 습 니 다.
4)캐 시 조회 에서 조회 결 과 를 되 돌려 주면 서버 가 Qcachehits 상태 변 수 는 Com 가 아 닙 니 다.select
5)표 가 바 뀌 면 이 표를 사용 한 모든 캐 시 조회 가 불법 으로 바 뀌 어 캐 시 에서 삭 제 됩 니 다.표 는 INSERT,UPDATE,DELETE,TRUNCATE TABLE,ALTER TABLE,DROP TABLE,DROP DATABASE 등 다양한 유형의 어구 에 의 해 변 경 될 수 있 습 니 다.
참조 연결:
http://dev.mysql.com/doc/refman/4.1/en/query-cache-operation.html
2.캐 시 조회 가 열 렸 는 지 확인
SHOW VARIABLES LIKE 'have_query_cache';
MySql
3.쿼 리 캐 시 에서 모든 쿼 리 캐 시 삭제
RESET QUERY CACHE;
4.캐 시 성능 모니터링 조회
SHOW STATUS LIKE 'Qcache%'
MySql
출력 설명:
Qcache_free_blocks:캐 시 에 남 은 메모리 블록 조회
Qcache_free_memory:캐 시 남 은 메모리 수량 조회
Qcache_hits:캐 시 적중 수량 조회
Qcache_inserts:캐 시 에 추 가 된 조회 수(캐 시 되 지 않 은 읽 기 가 아니 라 캐 시가 효력 을 잃 어 읽 기)
Qcache_lowmen_prunes:메모리 가 너무 낮 아서 캐 시 조회 에서 삭 제 된 조회 수 입 니 다.
Qcache_not_chached:캐 시 되 지 않 은 조회 수(캐 시 되 지 않 음,querycache_type 설정 이 캐 시 되 지 않 음)
Qcache_queries_in_cache:캐 시 조회 에 등 록 된 조회 수
Qcache_total_blocks:캐 시 에 있 는 메모리 블록 총 수 를 조회 합 니 다.
SELECT 조회 수:
Com_select+Qcache_hits+오 류 를 분석 하 는 조회 수(queries with errors found by parser)
그 중,Comselect 는 명중 하지 않 은 캐 시 수 를 표시 합 니 다.Qcachehits 는 캐 시 명중 수 를 표시 합 니 다.
Com_select 계산 공식:
Qcache_inserts+Qcache_not_cached+권한 검사 오류 수(열-프 리 빌 리 지 검사 중 에 오류 가 있 는 쿼 리)
색인 감시
SHOW STATUS LIKE 'handler_read%';
MySql
출력 설명:
Handler_read_first
The number of times the first entry in an index was read. If this value is high, it suggests that the server is doing a lot of full index scans; for example, SELECT col1 FROM foo, assuming that col1 is indexed
색인 중 첫 번 째 항목(the first entry in an index)을 읽 은 횟수 입 니 다.이 값 이 높 으 면 서버 에서 모든 색인 검색 을 실행 하고 있 음 을 나타 냅 니 다.예 를 들 어 SELECT col 1 FROM foo,col 1 에 색인 이 생 겼 다 고 가정 합 니 다.
Handler_read_key
The number of requests to read a row based on a key. If this value is high, it is a good indication that your tables are properly indexed for your queries.
어떤 키 를 기반 으로 한 줄 의 요청 횟수 를 읽 습 니 다.이 값 이 매우 높다 면,실행 요청 에 대해 표 는 적당 한 색인 을 사용 했다 는 것 을 잘 설명 할 수 있 습 니 다.
Handler_read_next
The number of requests to read the next row in key order. This value is incremented if you are querying an index column with a range constraint or if you are doing an index scan.
키 순서에 따라 다음 줄 의 요청 횟수 를 읽 습 니 다.일련의 제약 이 있 는 색인 열 을 조회 하거나 색인 검색 을 실행 하고 있 을 때 이 값 이 증가 합 니 다.
Handler_read_prev
The number of requests to read the previous row in key order. This read method is mainly used to optimize ORDER BY ... DESC
키 의 순서에 따라 이전 줄 의 횟수 를 읽 어 달라 고 요청 합 니 다.이 읽 기 방법 은 주로 ORDER BY...DESC 최적화 에 사 용 됩 니 다.
Handler_read_rnd
The number of requests to read a row based on a fixed position. This value is high if you are doing a lot of queries that require sorting of the result. You probably have a lot of queries that require MySQL to scan entire tables or you have joins that do not use keys properly.
고정된 위치 에서 한 줄 의 요청 횟수 를 읽 습 니 다.이 값 이 높 으 면 결과 집합 정렬 을 요구 하 는 많은 조 회 를 수행 하고 있 음 을 나타 낸다.전체 표 스 캔 을 요구 하 는 조회 가 많 거나 키 에 맞 는 공동 조 회 를 사용 하지 않 았 을 수도 있 습 니 다.
Handler_read_rnd_next
The number of requests to read the next row in the data file. This value is high if you are doing a lot of table scans. Generally this suggests that your tables are not properly indexed or that your queries are not written to take advantage of the indexes you have.
데이터 파일 의 다음 줄 을 읽 는 요청 횟수 입 니 다.이 값 은 매우 높 아서 전체 표 스 캔 을 많이 실행 하고 있 음 을 나타 낸다.일반적으로 표 가 적당 한 색인 을 사용 하지 않 았 거나 조회 요청 이 기 존의 색인 을 사용 하지 않 았 음 을 나타 낸다.
참조 연결:
http://dev.mysql.com/doc/refman/5.7/en/dynindex-statvar.html#statvar-index-H
참조 연결:
http://dev.mysql.com/doc/refman/4.1/en/server-status-variables.html
http://dev.mysql.com/doc/refman/4.1/en/query-cache-status-and-maintenance.html
MySql 캐 시 조회 원리 와 캐 시 모니터링 및 색인 모니터링 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 MySql 캐 시 조회 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!