Rails activerecord可能会延迟大表

时间:2013-10-22 08:32:24

标签: mysql ruby-on-rails

我有消息模型,其中包含大量字段和表中大约1000万个条目。

现在我也有一个看起来像这样的SomeItem模型(它只有1000个条目):

class SomeItem < ActiveRecord::Base
  belongs_to :item, :polymorphic => true # "Message" is one of the item types
end 

现在有了这两行连续困扰我的代码:

m = Message.new(:fild_one => 1, ...)
m.save
s = SomeItem.create(:item => m)

现在,如果m已在数据库中保存,请Sat, 05 Oct 2013 15:01:06 UTC +00:00s Sat, 05 Oct 2013 15:01:23 UTC +00:00处于正常状态。

但是当我这样做时: s.item_type it gives me "Message"这很好,但{3}中的s.id it gives me nil  1000个条目。

所以我的问题是: 是否存在一种延迟,阻止在上一行中创建的m在下一行中创建的s中使用。

注意: 1)消息表非常庞大,包含数百万个条目

2)SomeItem表很小,只包含1000个条目

3)据我所知,rails依次执行这两个句子,但这并不能解释这种行为。

之前有人注意到这一点,如果是的话,如果知道可以做些什么来防止这种情况呢?

提前致谢。我理解这个问题看起来很愚蠢,但它是一个真实的生活场景,正在我的现场项目中发生。

0 个答案:

没有答案