美文网首页
(12)查询CACHE第二部分

(12)查询CACHE第二部分

作者: suhuanzhen | 来源:发表于2016-11-30 14:57 被阅读0次

我们就分析之前产生的CACHE的地方

位置1:includes解决N+1查询问题

新建案例分析

添加路由

get 'query_cache_six'

添加动作

def query_cache_six
end

product.product_second_tag.ID的访问方式不是执行product.product_second_tag查询之后再访问ID字段product.product_second_tag是查询后得到结果集,同一个each里面多次出现访问ID、SecondTagLength、SecondTagName直接访问的结果集合所以不再执行sql查询,所以这种方式访问只执行一次sql查询-----自然不会出现CACHE,因为CACHE也是需要执行多次查询,只不过后面的查询是读取前面的CACHE罢了。


  • 我们修改为如下就有CACHE了
    根据上面分析,同一个each里面只有1条sql。
    each遍历3次,因为第一次each的sql和第二次的sql都是SELECT `product_second_tags`.* FROM `product_second_tags` WHERE `product_second_tags`.`ID` = 'st1' LIMIT 1,是相同的sql,所以第二次是CACHE,所以下面执行的3条sql中第2条是CACHE。


多次each的情况下,第一次是sql查询,后面每次都是CACHE,CACHE可以不止一次

如下二级标签为st1的CACHE出现3次。




位置2:I多条件拼接查询、模型与表任意命名

这个我们在控制器动作中使用includes包含进来的关联表数据都是一次性查询,肯定没有CACHE(CACHE需要多次查询的情况下才出现)。而tags表没有用includes,所以each多次就存在相同sql就执行CACHE,(该笔记CACHE应该有两次CACHE才对,3次each为st1的结果中后两次是CACHE,我们截图是在新数据构造前面,不过不影响,因为这是数据构造导致的,逻辑和其他笔记内容都对)。

位置3:(9)II多条件拼接查询

也是一样的分析,不在描述

提交到git仓库

git add .
git commit -m "查询CACHE第二部分"
git push -u https://github.com/xiaohuacc/active_record.git master

相关文章

  • (12)查询CACHE第二部分

    我们就分析之前产生的CACHE的地方 位置1:includes解决N+1查询问题 新建案例分析 添加路由 添加动作...

  • 图片加载框架Picasso源码分析

    第一部分:代码整理 第二部分Action: 第三部分Cache: LruCache实现了Cache的所有方法。 第...

  • DNS解析步骤

    1.应用发起基于域名的请求后,linux先查询本地dns cache。 2.本地dns cache命中(cache...

  • 十分钟鸟瞰Druid

    Druid是个啥 Druid设计目标 快速查询 : 部分数据聚合 + Cache + 索引水平拓展能力:分布式列式...

  • 分布式缓存(一)

    分布式缓存(一) 数据库缓存 Mysql 查询缓存(Query cache) 当打开了Query Cache功能,...

  • 2018-09-02

    Linux DNS 查询剖析(第一部分)Linux DNS 查询剖析(第二部分)Linux DNS 查询剖析(第三...

  • MySQL数据库性能优化

    MySQL架构 查询缓存 查询缓存(Query Cache)原理: 缓存SELECT操作或预处理查询的结果集和SQ...

  • 5. 查询缓存和索引

    1. 查询缓存 查询缓存( Query Cache )原理缓存SELECT操作或预处理查询的结果集和SQL语句,...

  • <--个人成长笔记系列-->零碎点...

    JAVA知识点: (掌握)SQL_CACHE 关键字,表示在MySQL中使用缓存查询;SQL_NO_CACHE...

  • mysql性能监控和sql语句

    1、查询缓存: 2、缓存在Cache中线程数量thread_cache_size: 3、DB已连接的线程数: 4、...

网友评论

      本文标题:(12)查询CACHE第二部分

      本文链接:https://www.haomeiwen.com/subject/zsftmttx.html