라이브러리

[MYSQL_CONFIG] --query_cache_type - 쿼리 캐시 활성화 설정 (0: 비활성화, 1: 활성화)




MYSQL CONFIG --query_cache_type

MySQL Config에서 `--query_cache_type` 옵션은 쿼리 캐시 기능을 활성화하거나 비활성화하는 데 사용됩니다. 쿼리 캐시는 MySQL이 자주 실행되는 쿼리의 결과를 메모리에 저장하여 다음번에 동일한 쿼리가 실행될 때 캐시된 결과를 바로 반환하는 기능입니다.

쿼리 캐시 활성화


쿼리 캐시를 활성화하려면 `--query_cache_type` 옵션을 `1`로 설정합니다.

#hostingforum.kr
sql

[mysqld]

query_cache_type = 1



이 설정을 사용하면 MySQL이 모든 쿼리의 결과를 캐시합니다. 그러나 이 설정은 모든 쿼리가 캐시되는 것을 의미하므로, 자주 변경되는 데이터의 쿼리는 캐시되지 않습니다.

쿼리 캐시 비활성화


쿼리 캐시를 비활성화하려면 `--query_cache_type` 옵션을 `0`으로 설정합니다.

#hostingforum.kr
sql

[mysqld]

query_cache_type = 0



이 설정을 사용하면 MySQL이 쿼리의 결과를 캐시하지 않습니다.

쿼리 캐시 조건


쿼리 캐시는 다음과 같은 조건을 만족해야만 캐시됩니다.

- 쿼리는 SELECT 쿼이어야 합니다.
- 쿼리는 FROM 절에 테이블 이름이 포함되어야 합니다.
- 쿼리는 WHERE 절이 포함되어야 합니다.
- 쿼리의 결과가 캐시될 수 있는 크기 (1MB) 이하이어야 합니다.

예제


쿼리 캐시를 활성화하고, 캐시된 쿼리의 결과를 확인하는 예제입니다.

#hostingforum.kr
sql

[mysqld]

query_cache_type = 1



CREATE TABLE test (

  id INT PRIMARY KEY,

  name VARCHAR(255)

);



INSERT INTO test (id, name) VALUES (1, 'John');

INSERT INTO test (id, name) VALUES (2, 'Jane');



SELECT * FROM test WHERE id = 1;



이 예제에서는 쿼리 캐시를 활성화하고, 테이블 `test`에 데이터를 삽입한 후, `id = 1` 인 행을 조회하는 쿼리를 실행합니다. 쿼리의 결과는 캐시되어 다음번에 동일한 쿼리가 실행될 때 캐시된 결과를 바로 반환합니다.

#hostingforum.kr
sql

mysql> SELECT * FROM test WHERE id = 1;

+----+-------+

| id | name  |

+----+-------+

| 1  | John  |

+----+-------+

1 row in set (0.00 sec)



mysql> SELECT * FROM test WHERE id = 1;

+----+-------+

| id | name  |

+----+-------+

| 1  | John  |

+----+-------+

1 row in set (0.00 sec)



쿼리 캐시를 비활성화하고, 캐시된 쿼리의 결과를 확인하는 예제입니다.

#hostingforum.kr
sql

[mysqld]

query_cache_type = 0



CREATE TABLE test (

  id INT PRIMARY KEY,

  name VARCHAR(255)

);



INSERT INTO test (id, name) VALUES (1, 'John');

INSERT INTO test (id, name) VALUES (2, 'Jane');



SELECT * FROM test WHERE id = 1;



이 예제에서는 쿼리 캐시를 비활성화하고, 테이블 `test`에 데이터를 삽입한 후, `id = 1` 인 행을 조회하는 쿼리를 실행합니다. 쿼리의 결과는 캐시되지 않습니다.

#hostingforum.kr
sql

mysql> SELECT * FROM test WHERE id = 1;

+----+-------+

| id | name  |

+----+-------+

| 1  | John  |

+----+-------+

1 row in set (0.00 sec)



mysql> SELECT * FROM test WHERE id = 1;

+----+-------+

| id | name  |

+----+-------+

| 1  | John  |

+----+-------+

1 row in set (0.00 sec)



쿼리 캐시는 MySQL의 성능을 향상시키는 데 도움이 될 수 있지만, 캐시된 쿼리의 결과가 변경될 경우 캐시된 결과가 업데이트되지 않으므로 주의해야 합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 62 페이지

검색

게시물 검색