라이브러리
[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의 성능을 향상시키는 데 도움이 될 수 있지만, 캐시된 쿼리의 결과가 변경될 경우 캐시된 결과가 업데이트되지 않으므로 주의해야 합니다.
댓글목록
등록된 댓글이 없습니다.