私はORM - Object Relational Mappingのファンであり、私は過去1年半の間、Railsと共に使用してきました。それ以前には、JDBCを使用して生のクエリを作成し、データベースをストアドプロシージャを使用して大量に実行することに使用します。 ORMを使って、私は最初はcoach.manager
とmanager.coaches
のようなものをやっていて、とても簡単で読みやすいものでした。オブジェクトリレーショナルマッピングの短所
しかし時間がたつにつれ、数多くの団体が這い上がっていて、私はa.b.c.d
をやっていました。その背後には、あらゆる方向から質問が送られていました。レールとルビーでは、ガベージコレクタはナットし、非常に複雑なページをロードするのに苦労しました。私はこのORMスタイルのコードを単純なStoredプロシージャで置き換える必要があり、私が見た結果は膨大でした。 50秒間かかっていたページには2秒しかかかりません。
この大きな違いは、ORMを使用し続けるべきですか?生のクエリと比較して重大なオーバーヘッドがあることは明らかです。
一般に、Hibernate、ActiveRecordのようなORMフレームワークを使用する一般的な落とし穴は何ですか?
遅延フェッチを使用していますか?基本的に 'ORM'はあなたが言う通りにロードします... –
@Petar Minichev:ORMが私に許可しているすべての種類のフェッチを行っているので、それに直接的な答えは言えません。どこでもトレードオフがあります – bragboy