埋め込みvsリンク
ニュースレターのドキュメントで接続されたメールを検索する最速の方法を探しています。これまで、MongoMapperをニュースレター用とEメール用の1つのドキュメントで使用してきました。これは、+100kの電子メールで非常に遅くなっています。
私は本当にメール('someemail@email.com')にのみ興味があり、その周りのロジックには興味がないので、ニュースレター内の配列にメールを埋め込む方が速いのではないかと考えていました。
1)1つのドキュメントに10万から50万の電子メールを埋め込むことは可能ですか?2)Mongoidはこれに対してより良い/より速いですか?
まだコレクションに含まれていない場合は、質問してメールを追加します
email = newsletter.emails.first(:email => 'someemail@email.com')
unless email
email = Email.new(:email => 'someemail@email.com', :newsletter_id => self.id)
email.save
end
そして、私はこれがすべてが傷つき始めるところだと思います。
これらの接続方法は次のとおりです。クラスニュースレターには、MongoMapper :: Document many:emails...endが含まれます。
Class Email
include MongoMapper::Document
key :email, String
key :newsletter_id, ObjectId
belongs_to :newsletter
end
これについての助けが欲しいです:)