首页 > 数据库 > MySQL > MySQL8取消缓存
我的原创连接:
很多人在MySQL升级到8以后甩锅说没有缓存了。我其实觉得这不对。为什么官方取消了(连给设置参数的机会也没有,不是默认关闭,而是就没有了)
还好我有个5.7,说明一下。A表ID有索引


执行一下。扫描索引4行,返回4行。
再次执行。

用到了缓存。不扫描了。

很好的功能。我以前在用他PK redis的时候是完胜的。
这个时候我更新id=2(和id1没有关系),然后再次查询id=1

你会发现,id=1无法缓存,重新读取。
也就是说缓存所在的表发生一点改变,不管是不是改的是不是被缓存的。都失效。那么如果是一个OLTP系统,这等于没用。而MySQL定位是小事务的OLTP。至少目前只有企业版的云的MySQL才有OLAP。
所以8就取消了这个这种有人说没缓存到。除非你实际使用场景,数据就几乎不写,大量读。那么可能是吃亏了,但是如果用到了索引问题也不大。看上面的数据基本都在1毫秒或者不到1毫秒也可以接受了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/637517/viewspace-2890236/ ,如需转载,请注明出处,否则将追究法律责任。