반응형
MySQL이 캐시하는 쿼리를 MariaDB가 캐시하지 않습니까?
데이터베이스(MySQL 5.1.73)를 새 서버로 마이그레이션하고 mariadb(5.5.5-10)로 바꾸려고 합니다.전 세계적으로 mariadb는 훨씬 빨라 보이지만 mysql이 어디에 있는지 캐시하기를 거부하는 몇 가지 쿼리가 있습니다.이러한 쿼리는 LOTS를 사용하기 때문에 큰 문제입니다(홈 페이지에는 일종의 LOTS가 있으므로 사용자가 상호 작용할 때마다 거의 실행됩니다).
저는 mariadb가 mysql을 대체하는 것이라고 생각했습니다. 그래서 저는 이 행동에 놀랐습니다? 누군가가 왜 그렇게 다른 행동을 하는지 또는 어떻게 캐시를 강제로 사용할 수 있는지 알고 있습니다. (노력했습니다.SELECT SQL_CACHE
하지만 그것은 아무것도 변하지 않습니다.
다음은 mysql 구성입니다.
+------------------------------+------------+
| Variable_name | Value |
+------------------------------+------------+
| binlog_cache_size | 32768 |
| have_query_cache | YES |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| max_binlog_cache_size | 4294963200 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 16777216 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| table_definition_cache | 256 |
| table_open_cache | 64 |
| thread_cache_size | 8 |
+------------------------------+------------+
그리고 마리애드본은
+--------------------------------+----------------------+
| Variable_name | Value |
+--------------------------------+----------------------+
| aria_pagecache_age_threshold | 300 |
| aria_pagecache_buffer_size | 134217728 |
| aria_pagecache_division_limit | 100 |
| aria_pagecache_file_hash_size | 512 |
| binlog_cache_size | 32768 |
| binlog_stmt_cache_size | 32768 |
| have_query_cache | YES |
| host_cache_size | 228 |
| innodb_disable_sort_file_cache | OFF |
| innodb_ft_cache_size | 8000000 |
| innodb_ft_result_cache_limit | 2000000000 |
| innodb_ft_total_cache_size | 640000000 |
| join_cache_level | 2 |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| key_cache_file_hash_size | 512 |
| key_cache_segments | 0 |
| max_binlog_cache_size | 18446744073709547520 |
| max_binlog_stmt_cache_size | 18446744073709547520 |
| metadata_locks_cache_size | 1024 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 16777216 |
| query_cache_strip_comments | OFF |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| stored_program_cache | 256 |
| table_definition_cache | 400 |
| table_open_cache | 400 |
| thread_cache_size | 100 |
+--------------------------------+----------------------+
갱신하다
쿼리:
SELECT sum(amount) AS amount
,ADDDATE( SUBDATE( tran_date
, DAYOFMONTH(tran_date)-1
)
, INTERVAL 12 MONTH
) AS trans_date
FROM 0_gl_trans
WHERE account IN (1100) AND amount < 0
AND (tran_date > '2010-10-26' AND tran_date < '2015-10-26')
GROUP BY trans_date
언급URL : https://stackoverflow.com/questions/40266048/mariadb-not-caching-queries-that-mysql-does
반응형
'programing' 카테고리의 다른 글
AJAX 오류가 있는 서버 응답을 받으시겠습니까? (0) | 2023.08.28 |
---|---|
Matplotlib 그림 얼굴색(배경색) (0) | 2023.08.28 |
파이썬에서 리눅스 환경 변수를 설정 해제하는 올바른 방법은 무엇입니까? (0) | 2023.08.28 |
iOS 개발:장치에서 메모리 부족 경고를 발생시키는 방법은 무엇입니까? (0) | 2023.08.23 |
Mac/OS X에서 /var/lib/docker는 어디에 있습니까? (0) | 2023.08.23 |