Skip to main content
이러한 설정은 system.settings에서 확인할 수 있으며, 소스 코드에서 자동으로 생성됩니다.

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 이상인 정수.