1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-08-10 00:41:37 +08:00

Compare commits

..

No commits in common. "aabba40533ef657a6c2612a08d7c6dcdf3cb5ff0" and "622d6e396e441c4c9587613e96834ba12bf2c42f" have entirely different histories.

View File

@ -44,7 +44,7 @@ tag:
查询缓存主要用来缓存我们所执行的 SELECT 语句以及该语句的结果集。
连接建立后执行查询语句的时候会先查询缓存MySQL 会先校验这个 SQL 是否执行过,以 Key-Value 的形式缓存在内存中Key 是查询语句Value 是结果集。如果缓存 key 被命中,就会直接返回给客户端,如果没有命中,就会执行后续的操作,完成后也会把结果缓存起来,方便下一次调用。当然在真正执行缓存查询的时候还是会校验用户的权限,是否有该表的查询条件。
连接建立后执行查询语句的时候会先查询缓存MySQL 会先校验这个 SQL 是否执行过,以 Key-Value 的形式缓存在内存中Key 是查询预计Value 是结果集。如果缓存 key 被命中,就会直接返回给客户端,如果没有命中,就会执行后续的操作,完成后也会把结果缓存起来,方便下一次调用。当然在真正执行缓存查询的时候还是会校验用户的权限,是否有该表的查询条件。
MySQL 查询不建议使用缓存,因为查询缓存失效在实际业务场景中可能会非常频繁,假如你对一个表更新的话,这个表上的所有的查询缓存都会被清空。对于不经常更新的数据来说,使用缓存还是可以的。