1

我有一个使用 ActiveRecord 和 Postgresql 的 rails 应用程序。在我的模型中有一个名为 meta_data 的字段,我正在尝试加快我构建的数据导入例程。

该模型是这样定义的:(我清除了不相关的字段)== Schema Information

Table name: entities

id           :integer          not null, primary key
meta_data    :hstore
created_at   :datetime         not null
updated_at   :datetime         not null

我在用于创建哈希的加载器文件中有 19 个字段。然后我将哈希分配给 meta_data 字段并保存它。这个算法是我导入的瓶颈,而且速度很慢。在测试的过程中我注释掉了保存,发现还是很慢。如果我也注释掉 meta_data 字段分配,它会快得多,所以我的瓶颈似乎在 hstore 字段分配中,即使它实际上并没有调用保存或对其执行任何 sql。

关于如何加快速度的任何想法?

meta = {}
@demographic_fields.each do |k, v|
  meta[v] = hash[k]
end
my_object.meta_data = meta
#current_entity.save

如果我注释掉对 my_object.meta_data 的分配,它会很快。

不知道我能做什么。似乎不是 PG 问题,更像是 rails/activerecord/hstore 实现问题...

提前致谢,

最大限度

4

0 回答 0