微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MySQL中SQL_NO_CACHE怎么用

这篇文章主要介绍了MySQLsql_NO_CACHE怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

sql_CACHE意思是说,查询的时候使用缓存。


sql_NO_CACHE解释如下:

1.对当前query不使用数据库已有缓存来查询,则当前query花费时间会多点


2.对当前query的产生的结果集不缓存至系统query cache里,则下次相同query花费时间会多点

当我们想用sql_NO_CACHE来禁止结果缓存时发现结果和我们的预期不一样,查询执行的结果仍然是缓存后的结果。其实,sql_NO_CACHE的真正作用是禁止缓存查询结果,但并不意味着cache不作为结果返回给query。

sql_NO_CACHE的官方解释如下:

sql_NO_CACHE means that the query result is not cached. It does not mean that the cache is not used to answer the query.

You may use RESET QUERY CACHE to remove all queries from the cache and then your next query should be slow again. Same effect if you change the table, because this makes all cached queries invalid.


以下是实验过程:


MysqL> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed
MysqL>  select count(*) from fp_data;
+----------+
| count(*) |
+----------+
|   158404 |
+----------+
1 row in set (0.05 sec)




MysqL> select count(*) from fp_data;
+----------+
| count(*) |
+----------+
|   158404 |
+----------+
1 row in set (0.03 sec)




MysqL> select sql_CACHE count(*) from fp_data;
+----------+
| count(*) |
+----------+
|   158411 |
+----------+
1 row in set (0.03 sec)




MysqL> select sql_NO_CACHE count(*) from fp_data;
+----------+
| count(*) |
+----------+
|   158404 |
+----------+
1 row in set (0.02 sec)

感谢你能够认真阅读完这篇文章,希望小编分享的“MysqLsql_NO_CACHE怎么用”这篇文章对大家有帮助,同时也希望大家多多支持编程之家,关注编程之家行业资讯频道,更多相关知识等着你来学习!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐