データベースにアクセスするための関数を含むライブラリをPythonで作成しました。これは、サードパーティアプリケーションが適切なAPIを提供しないという事実のために書かれた、サードパーティアプリケーションデータベースのラッパーライブラリです。今では、プログラムロジックが特定の関数を数千回呼び出す関数のネストされた呼び出しを使用するまで、関数呼び出しの期間中は各関数がデータベース接続を開くようにしました。これはあまりパフォーマンスがよくありませんでした。これをプロファイリングすると、オーバーヘッドがデータベース接続セットアップにあることがわかりました(関数呼び出しごとに1回)。そこで、ライブラリモジュールがインポートされたときにデータベース接続が開かれるように、関数内からモジュール自体に開いた接続を移動しました。これにより、許容できるパフォーマンスが得られました。
これに関して、2つの質問があります。まず、データベース接続を明示的に閉じる必要がなくなり、このセットアップでどのように明示的に行うことができるかを心配する必要がありますか?第二に、私がやったことは、優れた実践の領域に近いどこに落ちますか?
openConn
、彼らはスコープに接続できる方法の機能を、ユーザーが、彼らが呼んで各関数に渡し作るwith
文またはものは何でも