高性能MySQL(3th)(知识补丁) —— 一条sql的执行过程

mac2024-11-15  4

《高性能MySQL》第三版  P.204:

 

这里说一下,查询缓存的作用:

要点:

① 要比对SQL语句是不是一模一样,这个比对可以通过类似于hashmap.get(sql)来实现的(联想Java中的HashMap<String,String>),如果存在则直接拿到结果,如果没有则说明没有该sql查询的记录。

② 如果命中,不能直接返回结果,要检查一下用户权限。

PS,对缓存中的sql查询涉及的任何表进行修改,都会使缓存失效(其实也是一种特殊形式的更新),这也是为什么MySQL不推荐使用缓存,甚至在MySQL 8中移除了该功能,总的来说:收益太小。

更为具体的可以参考:

一条SQL语句在MySQL中如何执行的

 

最新回复(0)