gpt4 book ai didi

sql - 使用模型延迟加载/缓存 SQL 查询结果

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:50 26 4
gpt4 key购买 nike

我正在开发一个具有相当大的报告组件的系统(使用 Rails 2.3.2、Ruby 1.8.7-p72)。为了提高性能,我创建了一个 Report 模型来存档旧报告。这个想法是,如果针对任意一组条件已经存在匹配报告,则使用它,否则生成报告并保存结果。

此外,我想以这样一种方式设计报表模型,即只有请求的属性才会运行其相应的 SQL 查询。这一切都源于这样一个事实,即每个属性都需要很长时间来计算,我宁愿不生成不会被使用的结果。 IE。我想做类似的事情:

def foo  @foo ||= read_attribute(:foo)  if @foo.nil?    @foo = write_attribute(:foo, (expensive SQL query result))  end  @foo end

但是,我遇到的问题是结果没有正确写入我的数据库,因此,代码不断地重新评估 SQL 查询。

谁能告诉我为什么

write_attribute
不工作?另外,还有更好的方法吗?

最佳答案

事实证明,我所做的一切都很好。真正的问题是对象的“id”查找被我在别处的一段代码所取代。 IE。实际写入发生在数据库中,但主键错误。

关于sql - 使用模型延迟加载/缓存 SQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/694094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com