mysql架构里面有个缓存,第一次查询会把结果放到缓存里面,第二次查询它是怎么知道缓存里面有的不去做查询直接从缓存中拿
时间: 2024-01-04 17:03:07 浏览: 115
在 MySQL 架构中,缓存是通过查询缓存机制来实现的。当开启了查询缓存功能后,当一个查询语句被执行时,MySQL 会首先检查查询缓存,看是否已经有相同的查询结果被缓存了。
MySQL 查询缓存的工作原理如下:
1. 当执行一个查询语句时,MySQL 会将该查询进行哈希处理,得到一个哈希值。
2. 使用该哈希值去查询缓存中查找是否有对应的结果。
3. 如果找到对应的结果,则直接返回缓存中的结果给用户,而不再执行实际的查询操作。
4. 如果没有找到对应的结果,MySQL 会执行实际的查询操作,并将查询结果进行缓存,以备下次查询使用。
需要注意的是,默认情况下,MySQL 的查询缓存是开启的,但在一些高并发或者更新频繁的场景下,查询缓存可能会带来一些性能问题。因此,在某些情况下,禁用查询缓存可能会更好。你可以通过设置 `query_cache_type` 参数为 `OFF` 来关闭查询缓存。
阅读全文