Ruby on rails 从rails postgres非常缓慢地实例化json对象

Ruby on rails 从rails postgres非常缓慢地实例化json对象,ruby-on-rails,ruby,database,postgresql,nosql,Ruby On Rails,Ruby,Database,Postgresql,Nosql,我有一个RoR服务,它将大型json对象存储在几个postgres json字段中。该模型有两个json字段和3个json字段,每个字段包含长度不超过100000个字符的json blob。看起来像: name: "Name", description: "A thing", things: { [...], [...], [...], ... }, more_things: { [...], [...], [...], ... } even_more: { ... } 现

我有一个RoR服务,它将大型json对象存储在几个postgres json字段中。该模型有两个json字段和3个json字段,每个字段包含长度不超过100000个字符的json blob。看起来像:

  name: "Name",
  description: "A thing",
  things: { [...], [...], [...], ... },
  more_things: { [...], [...], [...], ... }
  even_more: { ... }
现在我知道这并不理想,但当查询这些数据时,ActiveRecord加载只需要很短的时间(~2ms),但由于(我假设)json字段被初始化为对象,因此会挂起

我意识到我可能用了错误的方法,这些基本上是静态的json blob,经常被引用,但基本上从未更改过。我正在寻找优化/缓存的建议,以使这不会是令人无法忍受的缓慢。noSQL选项会更好吗


谢谢

解码这些JSON文档时,它会“挂起”多久?你能在之前和之后做一些回音(最好有时间戳)以确保这是真正的挂断吗?我该怎么做?当我运行一个基准测试得到10个这样的记录时,db负载需要18毫秒,但是它会挂起16秒。这些记录有哪些用例?例如,当您在大多数情况下只需要
:name
:description
时,您可以更改数据库方案,将其他列移动到单独的表中,从而避免必须始终实例化字段。同样,您可以只使用jsonb查询所需的属性,而不更改schema.well poo这是PHP,而不是rails。。我不使用rails,所以我不确定它是否等效