Ruby on rails 如何加速:ActiveRecord hstore分配

Ruby on rails 如何加速:ActiveRecord hstore分配,ruby-on-rails,ruby,activerecord,rails-postgresql,hstore,Ruby On Rails,Ruby,Activerecord,Rails Postgresql,Hstore,我有一个rails应用程序,使用ActiveRecord和Postgresql。在我的模型中有一个名为meta_data的字段,我正在尝试加快我构建的数据导入例程 模型的定义如下:我清除了不相关的字段 ==架构信息 Table name: entities id :integer not null, primary key meta_data :hstore created_at :datetime not null update

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

模型的定义如下:我清除了不相关的字段 ==架构信息

Table name: entities

id           :integer          not null, primary key
meta_data    :hstore
created_at   :datetime         not null
updated_at   :datetime         not null
我在一个加载器文件中有19个字段,用于创建散列。然后我将散列分配给meta_数据字段并保存它。这个算法是我导入的瓶颈,它非常慢。在测试过程中,我注释掉了save,发现它仍然非常慢。如果我也注释掉meta_数据字段分配,速度会快得多,因此我的瓶颈似乎在hstore字段分配中,即使它实际上没有调用save或对其执行任何sql

有没有办法加快速度

meta = {}
@demographic_fields.each do |k, v|
  meta[v] = hash[k]
end
my_object.meta_data = meta
#current_entity.save
如果我将赋值注释掉到我的\u object.meta\u数据中,速度很快

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

提前感谢,


Max

元数据是my_对象的关联还是其中的一个字段?在初始帖子中添加了模型结构…这些元数据哈希看起来像什么?它们是大得疯狂吗?AR使用的东西非常简单,散列中有19个字段。没什么太大的。它们只是数据库中医院的属性。像州、身份证号码、县、公司名称、整数值之类的东西当然这些都是用hstore中的字符串表示的。。。但没有任何东西能让你拥抱。只有19个值。不过,另一个注意事项是:如果rails 3.2.12与此有任何关系,则在其中。使用activerecord postgres hstore Gem导入时是否需要通过activerecord?AR并不是一个速度恶魔,所以直接与数据库对话可能是有意义的。