赞
踩
mysql5.7缓存开启
2022-04-29 13:55:25
近日研发同事反应JDBC连接池连接测试单机数据库时出现了诡异问题:
至此,MySQL单机缓存的原因就很明显了
查询 :show variables like ‘%query_cache%’;
(1) have_query_cache表示是否支持查询缓存,YES表示支持
(2) query_cache_type表示缓存类型,OFF表示关闭查询缓存,ON表示开启查询缓存,DEMAND表示用户自定义查询缓存
(3) query_cache_limit表示支持的最大单条查询sql数据量
(4) query_cache_min_res_unit表示查询缓存最小单位
(5) query_cache_size表示查询缓存空间大小
(6) query_cache_wlock_invalidate表示查询缓存是否支持写锁,OFF表示不支持,即读取数据不考虑写锁,ON表示支持,即读取数据会被写锁阻塞
关闭MySQL缓存:set global query_cache_type=1;
MySQL缓存机制:
(1) 只有字符串相等查询sql才使用相同缓存,即select name from city与SELECT name FROM city不使用同一个缓存。
(2) 在query_cache_type为ON的情况下,默认所有查询都使用缓存,我们可以使用sql_no_cache显示指定某个查询不使用缓存
query_cache_type=1
(3) 在query_cache_type为DEMAND的情况下,需要使用sql_cache指定某个查询使用缓存
select sql_cache name from city;
3.缓存失效:
在表的结构或数据发生改变时,查询缓存中的数据不再有效。如INSERT、UPDATE、 DELETE、TRUNCATE、ALTER TABLE、DROP TABLE或DROP DATABASE会导致缓存数据失效。所以查询缓存适合有大量相同查询的应用,不适合有大量数据更新的应用。
一旦表数据进行任何一行的修改,基于该表相关cache立即全部失效。
防止bolg被删除,所以就直接cp过来了。
原文地址:https://www.csdn.net/tags/NtDaYg3sNjU2MDEtYmxvZwO0O0OO0O0O.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。