房地产网站建设公司,网站开发外包公司坑,广州安全教育平台咨询电话,做电商网站的参考书MySQL 查询缓存 执行查询语句的时候#xff0c;会先查询缓存。MySQL 8.0 版本后移除#xff0c;因为这个功能不太实用。 my.cnf 加入以下配置#xff0c;重启 MySQL 开启查询缓存#xff1a; query_cache_type1
query_cache_size600000MySQL 执行以下命令也可以开启查询缓…MySQL 查询缓存 执行查询语句的时候会先查询缓存。MySQL 8.0 版本后移除因为这个功能不太实用。 my.cnf 加入以下配置重启 MySQL 开启查询缓存 query_cache_type1
query_cache_size600000MySQL 执行以下命令也可以开启查询缓存 set global query_cache_type1;
set global query_cache_size600000;如上开启查询缓存后再同样的查询条件以及数据情况下会直接在缓存中返回结果。这里的查询条件包括查询本身、当前要查询的数据库、客户端协议版本号等一些可能影响结果的信息。
查询缓存不命中的情况 1️⃣ 任何两个查询在任何字符上的不同 2️⃣ 查询中包含任何拥护自定义函数、存储函数、用户变量、临时表、MySQL 库中的系统表 3️⃣ 缓存建立之后MySQL 的查询缓存系统会跟踪查询中涉及的每张表如果这些表数据或结构发生变化那么和这张表相关的所有缓存数据都将失效。 总结 缓存虽然能够提升数据库的查询性能但是缓存同时也带来了额外的开销每次查询后都要做一次缓存操作失效后还要销毁。 So开启查询缓存要谨慎尤其对于写密集的应用来说更是如此。如果开启要注意合理控制缓存空间大小一般来说其大小设置为 几十 MB 比较合适。 可以通过 sql_cache 和 sql_no_cache 来控制某个查询语句是否需要缓存 SELECT sql_no_cache COUNT(*) FROM usr;