タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

データベースとパフォーマンスに関するchigurihaguriのブックマーク (1)

  • ORMのパフォーマンス最適化

    これは明らかに遅く非効率だ。この問題はEager Loadingというテクニックを使うことで解決できる。もし最初の注文クエリの一部として後で必要となる顧客とのアソシエーションをすべてロードしておけば、Customerに対するアクセスはただのプロパティへのアクセスになる。こうすれば後のデータベースクエリは不要になり、N+1問題も起こらない。 LightSpeedでは、そのEager Load設定をTrueに変更することで(もしくは手書きコードのエンティティにEagerLoadAttributeを適用することで)、アソシエーションのEager Loadを可能にする。Eager Loadされるアソシエーションをもつエンティティをクエリすると、LightSpeedは追加のSQLを生成して、‘プライマリ’エンティティと同じように関連したエンティティを取得する。 Order.Customerアソシエー

    ORMのパフォーマンス最適化
  • 1