query_cache_compress_entries
쿼리 캐시의 엔트리를 압축합니다. 쿼리 캐시의 메모리 사용량을 줄이는 대신, 캐시에 대한 삽입 및 읽기가 느려집니다. 가능한 값:- 0 - 비활성화됨
- 1 - 활성화됨
query_cache_for_subqueries
활성화하면 서브쿼리 결과를 쿼리 캐시에 저장하고, 여기서 읽어올 수 있습니다. 이렇게 하면use_query_cache가 모든 서브쿼리에 전파됩니다.
가능한 값:
- 0 - 비활성화됨
- 1 - 활성화됨
query_cache_max_entries
현재 사용자가 인메모리 쿼리 캐시에 저장할 수 있는 쿼리 결과의 최대 개수입니다. 0은 무제한을 의미합니다. 이 제한은 디스크 기반 쿼리 캐시(query_cache_on_disk_cache_name 설정)에는 적용되지 않습니다. 디스크 기반 쿼리 캐시의 엔트리는 그 기반이 되는 파일 시스템 캐시의 크기에 따라 제한됩니다.
가능한 값:
- 0 이상의 정수
query_cache_max_size_in_bytes
현재 사용자가 인메모리 쿼리 캐시에 할당할 수 있는 최대 메모리 크기(바이트)입니다. 0은 제한이 없음을 의미합니다. 이 제한은 디스크 기반 쿼리 캐시(query_cache_on_disk_cache_name 설정)에는 적용되지 않습니다. 디스크 기반 쿼리 캐시의 엔트리는 그 대신 기반 파일 시스템 캐시의 크기에 따라 제한됩니다.
가능한 값:
- 0 이상의 정수.
query_cache_min_query_duration
쿼리 결과가 쿼리 캐시에 저장되려면 쿼리가 최소 몇 밀리초 동안 실행되어야 하는지를 지정합니다. 가능한 값:- 0 이상의 정수.
query_cache_min_query_runs
결과가 쿼리 캐시에 저장되기 전에SELECT 쿼리가 실행되어야 하는 최소 횟수입니다.
가능한 값:
- 0 이상의 정수.
query_cache_nondeterministic_function_handling
rand() 또는 now()와 같은 비결정적 함수가 포함된 SELECT 쿼리를 쿼리 캐시에서 어떻게 처리할지 제어합니다.
가능한 값:
'throw'- 예외를 발생시키고 쿼리 결과를 캐시하지 않습니다.'save'- 쿼리 결과를 캐시합니다.'ignore'- 쿼리 결과를 캐시하지 않고 예외도 발생시키지 않습니다.
query_cache_on_disk_cache_name
쿼리 캐시의 엔트리를 디스크에 저장하는 파일 시스템 캐시(서버 구성의filesystem_caches 섹션에 정의된 엔트리)의 이름입니다. 이름을 지정하고 use_query_cache가 활성화되어 있으면, 쿼리 결과가 지정된 파일 시스템 캐시에도 추가로 캐시되며 이 캐시에서도 결과를 제공합니다. 디스크 기반 쿼리 캐시는 인메모리 쿼리 캐시보다 더 많은 공간을 제공하고, 서버를 재시작해도 유지되며, 인메모리 쿼리 캐시와 독립적으로 동작합니다. 즉, enable_reads_from_query_cache_on_disk 및 enable_writes_to_query_cache_on_disk 설정으로 인메모리 쿼리 캐시와 별도로 제어할 수 있습니다. 파일 시스템 캐시에 저장된 엔트리는 파일 시스템 캐시의 일반 엔트리와 동일하게 취급됩니다. 따라서 삭제 대상에서 제외되지 않으며, 캐시 내 다른 데이터와 동일한 규칙에 따라 축출됩니다. SYSTEM CLEAR FILESYSTEM CACHE '<name>'은 파일 시스템 캐시의 다른 모든 데이터와 함께 이 엔트리를 제거하며, SYSTEM CLEAR QUERY CACHE는 이 설정으로 지정된 파일 시스템 캐시에서 디스크 기반 쿼리 캐시의 엔트리만 제거하고 나머지 데이터는 그대로 둡니다. 쿼리 결과 전용 파일 시스템 캐시를 사용할 것을 권장합니다.
가능한 값:
- 빈 문자열 - 디스크 기반 쿼리 캐시가 비활성화됩니다
- 미리 구성된 파일 시스템 캐시의 이름
query_cache_on_disk_codec
디스크에 저장되는 쿼리 캐시 엔트리에 사용할 압축 코덱입니다(query_cache_on_disk_cache_name 참고). 이 설정은 쓰기에만 적용됩니다. 압축된 데이터에는 자체 형식 정보가 포함되어 있으므로 읽기는 이 설정의 영향을 받지 않습니다.query_cache_share_between_users
이 설정을 활성화하면 쿼리 캐시에 캐시된SELECT 쿼리 결과를 다른 사용자도 읽을 수 있습니다.
보안상의 이유로 이 설정을 활성화하는 것은 권장되지 않습니다.
가능한 값:
- 0 - 비활성화됨
- 1 - 활성화됨
query_cache_squash_partial_results
부분 결과 블록을 max_block_size 크기의 블록으로 병합합니다. 쿼리 캐시에 대한 삽입 성능은 저하되지만, 캐시 엔트리의 압축 효율은 향상됩니다(query_cache_compress-entries 참조). 가능한 값:- 0 - 비활성화
- 1 - 활성화
query_cache_system_table_handling
쿼리 캐시가 시스템 테이블, 즉system.* 및 information_schema.* 데이터베이스의 테이블에 대한 SELECT 쿼리를 어떻게 처리할지 제어합니다.
가능한 값:
'throw'- 예외를 발생시키고 쿼리 결과를 캐시하지 않습니다.'save'- 쿼리 결과를 캐시합니다.'ignore'- 쿼리 결과를 캐시하지 않으며 예외도 발생시키지 않습니다.
query_cache_tag
쿼리 캐시 엔트리의 레이블 역할을 하는 문자열입니다. 동일한 쿼리라도 태그가 다르면 쿼리 캐시에서는 서로 다른 것으로 간주됩니다. 가능한 값:- 임의의 문자열
query_cache_ttl
이 시간이 지나면 쿼리 캐시의 엔트리가 오래된 상태가 됩니다. 가능한 값:- 0 이상인 정수.