Doctrine2 を使用しているときに PHP の実行時間が長い (10 秒) という問題があり、どのような解決策を適用できるか疑問に思っています。
機能と 1:n の関係を持つアクター エンティティを読み込んでいます。それぞれ 20 個の機能を持つ 50 個のアクターをロードしているため、結果は 1000 行になります。問題は Doctrine Hydration のようです。オブジェクトまたは配列のハイドレーションを使用している場合、大きな違いはありません。プロファイラーでは、主な影響は、両方とも 13.141 回呼び出されるメソッド gatherRowData/hydrateRowData であることがわかります。
普通の古いMysql結果セットを使用してその配列をループする唯一の解決策はありますか? はいの場合、ORMを使用する意味は何なのか疑問に思っています。うまくいけば、誰かがこれに光を当てることができます。通常、 getIdentity() などのメソッドを介してアクセスできるオブジェクト、または関連付けられたエンティティを取得するためなどのビジネスロジックを保持できるオブジェクトが必要です。
敬具クリスチャン