MySQL 쿼리 캐시를 이해하고 언제 구현해야 합니까?

MySQL 쿼리 캐시를 이해하고 언제 구현해야 합니까?

현재 MySQL 서버에서는 쿼리 캐시가 활성화되어 있습니다.

Qchache_hits: 31913 
Qchache_inserts: 50959
Qchache_lowmem_prunes: 9320
Qchache_not_chached: 209320
Qchache_queries_in_chace: 986

com_update: 0
com_delete: 0
com_Select: 10

쿼리 캐시를 완전히 이해하지 못합니다. 현재 이에 대해 읽고 이해하려고 노력하고 있습니다.

우리 데이터베이스에는 재고 데이터, 고객 데이터, 직원 데이터, 판매 데이터 등이 저장됩니다. 쿼리가 두 번 이상 실행되는 경우는 거의 없습니다. 쿼리가 두 번 실행될 가능성은 특정 판매 정보를 두 번 보는 것입니다. 하지만 기본적으로 우리 시스템의 모든 것은 끊임없이 변화합니다. 항상 업데이트, 삭제, 삽입되고 있으며 사용자가 일주일 내에 동일한 쿼리를 두 번 실행하는 것을 상상할 수 없습니다.

쿼리 캐시를 활성화해야 합니까? 삽입은 51,000개의 항목이 추가되었음을 의미하지만 그 중 986개만 저장되고 있는 것으로 추측됩니다.

캐시를 새로 고치고 일주일 동안 관찰한 후 매주 액세스되는 캐시된 쿼리 수를 확인하여 실제로 이점을 반환하는지 확인하는 것이 아이디어일까요?

이에 대한 도움이나 안내를 주시면 감사하겠습니다.

답변1

예, 51,000개의 항목이 추가되었으며 현재는 986개만 포함되어 있습니다. 대략 50,000개의 항목이 캐시에 추가되었지만 더 이상 존재하지 않습니다. 그 중 9,000개는 캐시의 메모리가 부족하고 나머지는 캐시 항목을 삽입/업데이트하여 무효화되었기 때문입니다. Com_select는 혜택을 받고 있는지 결정할 때 알아두면 유용한 매개변수입니다. 그러나 실제로는 어떤 쿼리가 캐시되는지에 따라 달라집니다.

캐시하여 이점을 얻지 못할 것이라고 확신하는 select 문을 실행하는 경우 select 문에 SQL_NO_CACHE를 추가할 수 있습니다.여기에 있는 문서.

나는 독서를 추천한다이 기사(그리고 일반적으로 해당 블로그).

관련 정보