쿼리 캐시란? (MARIADB)

이동욱

2021/06/04

Categories: 데이터베이스 Tags: 데이터베이스

쿼리 캐시


쿼리 캐시 기능을 사용하기


SHOW VARIABLES LIKE 'HAVE_QUERY_CACHE'
SHOW VARIABLES LIKE 'QUERY_CACHE_TYPE'

쿼리 캐시가 되지 않는 경우


아래와 같은 함수를 사용하면, 기본적으로 쿼리가 캐싱되지 않는다.

BENCHMARK()
CONNECTION_ID()
CONVERT_TZ()
CURDATE()
CURRENT_DATE()
CURRENT_TIME()
CURRENT_TIMESTAMP()
CURTIME()
DATABASE()
ENCRYPT() (one parameter)
FOUND_ROWS()
GET_LOCK()
LAST_INSERT_ID()
LOAD_FILE()
MASTER_POS_WAIT()
NOW()
RAND()
RELEASE_LOCK()
SLEEP()
SYSDATE()
UNIX_TIMESTAMP()
(no parameters)
USER()
UUID()
UUID_SHORT()
SELECT SQL_NO_CACHE ...
SELECT ... INTO OUTFILE ...
SELECT ... INTO DUMPFILE ...
SELECT ... FOR UPDATE
SELECT * FROM ... WHERE autoincrement_column IS NULL
SELECT ... LOCK IN SHARE MODE

쿼리 캐시 크기를 제한하기


Screen Shot 2021-06-04 at 4 03 22 PM

캐시 설정 및 의미


SHOW STATUS LIKE 'Qcache%';
+-------------------------+----------+
| Variable_name           | Value    |
+-------------------------+----------+
| Qcache_free_blocks      | 1158     |
| Qcache_free_memory      | 3760784  |
| Qcache_hits             | 31943398 |
| Qcache_inserts          | 42998029 |
| Qcache_lowmem_prunes    | 34695322 |
| Qcache_not_cached       | 652482   |
| Qcache_queries_in_cache | 4628     |
| Qcache_total_blocks     | 11123    |
+-------------------------+----------+

결론


Screen Shot 2021-06-04 at 4 28 16 PM

참고 문헌

>> Home