2

リポジトリ内の複数のクエリに使用する非常に高価なサブクエリがあります。

そのサブクエリをキャッシュし、その結果を他のネイティブ SQL クエリで使用する方法を見つけたいと考えています。

  1. symfony2 プロジェクトで Doctrine2 DBAL を使用しています。
  2. サブクエリが複雑なため、ネイティブ SQL が必要です。
例:

( 高価なサブクエリ ) から合計 (ボリューム) を選択します。

私は Google と Doctrine2 のドキュメントを見直してきましたが、良い解決策は見つかりませんでした。

Doctrine2、Symfony2、SQL フレームワークの範囲内で、他の方法を歓迎します。

4

1 に答える 1

0

多くのオプションがあります。私の最初のアクションは、select ステートメントをハッシュしてキーとして機能させ、結果を memcached などに保存することです。次に、クエリを実行する前にマネージャーで。キー/キャッシュが存在するかどうかを確認します。存在する場合は、キャッシュされた結果を使用します。キャッシュが存在しない場合は、長いクエリの実行後に作成します。さらに、キャッシュの有効期限を統合することもできます。

于 2012-11-28T05:41:58.923 に答える