MariaDB的Qcache_点击和Com_选择同时增加

MariaDB的Qcache_点击和Com_选择同时增加,mariadb,query-cache,Mariadb,Query Cache,MariaDB的QCache_点击和Com_选择同时增加 比如说 MySQL 显示全局状态-Com_选择为0。Qcache_命中率为0。 第一次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为0。 第二次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为1。 第三次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为2。 马里亚布 显示全局状态-Com_选择为0。Qcache_

MariaDB的QCache_点击和Com_选择同时增加

比如说

MySQL

显示全局状态-Com_选择为0。Qcache_命中率为0。 第一次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为0。 第二次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为1。 第三次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为2。 马里亚布

显示全局状态-Com_选择为0。Qcache_命中率为0。 第一次选择:从测试表中选择*,其中id=1-Com\U select为1。Qcache_命中率为0。 第二次选择:从测试表中选择*,其中id=1-Com\U select为2。Qcache_命中率为1。 第三次选择:从测试表中选择*,其中id=1-Com\U select为3。Qcache_命中率为2。 如果缓存被命中,为什么即使Com_select的数量增加

我的环境是Ubunut 12.04x64和MariaDB 5.5.35


我可以用MariaDB 5.5.39和10.0.14验证这一点。我不确定这是否是一个故意的改变,因为MariaDB的行为更正确,但至少根据MariaDB知识库中的这一部分,它的行为应该与MySQL相同:

请注意,从查询缓存返回的查询不会增加 Com_选择状态变量,以便找到有效的 在服务器上运行查询时,将Com_select添加到Qcache_hits

所以我提交了一份关于它的bug报告:

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]>