MySQL的查询缓存机制基本学习教程

2019-01-04 19:05:18丽君

 

mysql> SHOW STATUS LIKE 'Qcache%';

 

+---------------+-------+ | Variable_name | Value | +---------------+-------+ | Qcache_hits | 1 | --表示sql在缓存中直接得到结果,不需要再去解析 +---------------+-------+ 8 rows in set (0.00 sec)

 

mysql> select count(*) from animals;
+----------+ | count(*) | +----------+ | 6 | +----------+ 1 row in set (0.00 sec)

 

mysql> select count(*) from animals;
+----------+ | count(*) | +----------+ | 6 | +----------+ 1 row in set (0.00 sec)

 

mysql> SHOW STATUS LIKE 'Qcache_hits';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | Qcache_hits | 3 | --上面的sql也是是从缓存中直接取到结果 +---------------+-------+ 1 row in set (0.00 sec)
mysql> insert into animals select 9,'testsds' ; --插入数据后,跟这个表所有相关的sql缓存就会被清空掉
Query OK, 1 row affected (0.00 sec) Records: 1 Duplicates: 0 Warnings: 0
mysql> select count(*) from animals;
+----------+ | count(*) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
mysql> SHOW STATUS LIKE 'Qcache_hits';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | Qcache_hits | 3 | --还是等于3,说明上一条sql是没有直接从缓存中直接得到的 +---------------+-------+ 1 row in set (0.00 sec)

 

mysql> select count(*) from animals;
+----------+ | count(*) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)

 

mysql> SHOW STATUS LIKE 'Qcache_hits';
+---------------+-------+ | Variable_name | Value | +---------------+-------+ | Qcache_hits | 4 | +---------------+-------+ 1 row in set (0.00 sec)

您可能感兴趣的文章:

清空mysql 查询缓存的可行方法mysql的查询缓存说明mysql 设置查询缓存