加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 缓存多级外部ID是一种好习惯

发布时间:2020-12-17 02:19:25 所属栏目:百科 来源:网络整理
导读:Model User有很多Project有很多Task User(id,email,password)Project(id,user_id,name)Task(id,project_id,title) 在Task模型上有一个更高父级的缓存列,例如user_id,以便在不进行连接的情况下更快地访问,或者我应该坚持使用良好的OL:通过解决方案,这是一个
Model User有很多Project有很多Task

User(id,email,password)
Project(id,user_id,name)
Task(id,project_id,title)

在Task模型上有一个更高父级的缓存列,例如user_id,以便在不进行连接的情况下更快地访问,或者我应该坚持使用良好的OL:通过解决方案,这是一个好习惯吗?

很想听到这方面的想法,因为我一直担心这是否弊大于利.

解决方法

我不会说这样做是好习惯.您现在必须使该附加密钥与父项上的相同密钥保持同步,并且数据不会像它那样正常化.

除非你有理由这样做,否则我不会走这条路.

如果原因是您发现不必经历模型层次结构以获取相关的用户模型太不方便,那么可能有更好的方法可以表达该代码,因此您不必继续这样做很多查找/加入?

如果主要是出于性能原因,可能会有更好的解决方案 – 缓存,数据库索引和其他可能有用的技术.

如果添加额外的密钥是您尝试做的最佳/最简单的解决方案,那么很好.我会先考虑是否有更好的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读