通常、私のプロジェクトでは、単純でないデータベースステートメントにDQLクエリを使用します。DQLクエリでprepare()関数を使用する必要があるか、または推奨されますか?
私はそれについて研究していますが、公式ドキュメントではそれについて何も述べていません。また、prepare()関数はSQLクエリでのみ使用されることも事実です。
通常、私のプロジェクトでは、単純でないデータベースステートメントにDQLクエリを使用します。DQLクエリでprepare()関数を使用する必要があるか、または推奨されますか?
私はそれについて研究していますが、公式ドキュメントではそれについて何も述べていません。また、prepare()関数はSQLクエリでのみ使用されることも事実です。
prepare()
Doctrine 2 ORMクエリにはメソッドすらありません( Doctrine\ORM\AbstractQuery
APIを参照)。
内部的には、ORMは、クエリを再解析する必要があるかどうかをORMに通知する「ダーティ」状態フラグを保持します。解析後、そのフラグは削除され、クエリが再度実行されるときにそれ以上の操作は必要ありません。
クエリを実行すると、DBALレイヤーでスローされます。DBALレイヤーは、prepare()
必要に応じて呼び出し自体を処理するため(プラットフォームによって異なります)、手動で処理する必要はありません。
ご覧のとおり、箱から出してすぐに最適化されています。