반응형
MariaDB의 Qcache_hits와 Com_select가 함께 증가합니다.
MariaDB의 QCache_hits와 Com_select가 함께 증가합니다.
예를들면.
MySQL
- show global status - Com_select는 0 입니다.Qcache_hits는 0입니다.
- 첫 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 1입니다.Qcache_hits는 0입니다.
- 두 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 1입니다.Qcache_hits는 1입니다.
- 세 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 1입니다.Qcache_hits는 2입니다.
마리아DB
- show global status - Com_select는 0 입니다.Qcache_hits는 0입니다.
- 첫 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 1입니다.Qcache_hits는 0입니다.
- 두 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 2입니다.Qcache_hits는 1입니다.
- 세 번째 선택 : test_table에서 *를 선택합니다.ID = 1 - Com_select는 3입니다.Qcache_hits는 2입니다.
캐시가 히트했을 때 Com_select의 수가 증가해도 그 이유는 무엇입니까?
내 환경은 Ubunut 12.04(x64)와 MariaDB 5.5.35입니다.
MariaDB [test]> show global status where Variable_name in ('Com_select', 'Qcache_hits');
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 79 |
| Qcache_hits | 6 |
+---------------+-------+
2 rows in set (0.00 sec)
MariaDB [test]> insert into testtable values (11, 3);
Query OK, 1 row affected (0.00 sec)<br/>
MariaDB [test]> select * from testtable where id = 11;
+----+------+
| id | name |
+----+------+
| 11 | 3 |
+----+------+
1 row in set (0.00 sec)
MariaDB [test]> show global status where Variable_name in ('Com_select', 'Qcache_hits') ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 80 |
| Qcache_hits | 6 |
+---------------+-------+
2 rows in set (0.00 sec)
MariaDB [test]> select * from testtable where id = 11;
+----+------+
| id | name |
+----+------+
| 11 | 3 |
+----+------+
1 row in set (0.00 sec)
MariaDB [test]> select * from testtable where id = 11;
+----+------+
| id | name |
+----+------+
| 11 | 3 |
+----+------+
1 row in set (0.00 sec)
MariaDB [test]> show global status where Variable_name in ('Com_select', 'Qcache_hits') ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 82 |
| Qcache_hits | 8 |
+---------------+-------+
2 rows in set (0.00 sec)
MariaDB [test]>
이것을 MariaDB 5.5.39 및 10.0.14로 확인할 수 있습니다.이것이 의도적인 변경인지는 확실하지 않지만(IMHO의 MariaDB 동작이 더 정확합니다), 적어도 MariaDB 기술 자료에서 이 섹션에 따르면 MySQL과 같은 방식으로 동작해야 합니다.
쿼리 캐시에서 반환된 쿼리는 Com_select 상태 변수를 증가시키지 않으므로 서버에서 실행되는 유효한 쿼리의 총 수를 찾으려면 Qcache_hits에 Com_select를 추가합니다.
( https://mariadb.com/kb/en/mariadb/documentation/optimization-and-tuning/buffers-caches-and-threads/query-cache/ )
그래서 이 버그 보고서를 제출했습니다.
https://mariadb.atlassian.net/browse/MDEV-7216
언급URL : https://stackoverflow.com/questions/21902675/mariadbs-qcache-hits-and-com-select-increase-together
반응형
'programing' 카테고리의 다른 글
django.db.db.ss.Operation Error: (2002, "'db'의 MySQL 서버에 접속할 수 없습니다(115)" (0) | 2023.02.03 |
---|---|
사전 개체의 길이를 확인하는 중입니다. (0) | 2023.02.03 |
하위 쿼리에서 열을 두 개 이상 선택할 수 없는 이유는 무엇입니까? (0) | 2023.02.03 |
봄의 @Value 기본값으로 null을 설정할 수 있습니까? (0) | 2023.02.03 |
대기열 테이블에서 사용자 위치를 가져오는 데 너무 느립니다. (0) | 2023.01.24 |