4

sqlalchemy を使用する場合、式ツリーを作成するプロセス全体を実行してから、そこからクエリを再度作成するのは無駄な時間のように思えます。ときどき発生する動的クエリを除けば、アプリケーションの存続期間中、ほとんどすべてがまったく同じです (もちろんパラメーターは別として)。

クエリを作成したら保存し、後で別のパラメータで再利用する方法はありますか? それとも、すでに似たようなことをしている内部メカニズムがあるのでしょうか?

4

2 に答える 2

2

SQLAlchemy 1.0 では、オブジェクトbakedをキャッシュするために特別に設計されたキャッシュである拡張機能が導入されました。Queryオブジェクトの構築と文字列コンパイルの手順をキャッシュして、反復クエリでの Python インタープリターのオーバーヘッドを最小限に抑えます。

公式ドキュメントはこちら: http://docs.sqlalchemy.org/en/latest/orm/extensions/baked.html

データベースから返された結果セットはキャッシュされないことに注意してください。そのためには、以下をチェックしてくださいdogpile.cache

http://docs.sqlalchemy.org/en/latest/orm/examples.html#module-examples.dogpile_caching

于 2015-11-02T18:00:25.800 に答える